Files
gt4carp/lepiter/98eic2i50ocb0va6cfou37q6u.lepiter
Veit Heller 199758d97d Multiple changes:
- Add the book and a few first pages
- Add the code generator
2022-04-17 19:48:45 +02:00

187 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"__schema" : "4.1",
"__type" : "page",
"children" : {
"__type" : "snippets",
"items" : [
{
"__type" : "textSnippet",
"children" : {
"__type" : "snippets",
"items" : [ ]
},
"createEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"createTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:43:49.615762+02:00"
}
},
"editEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"editTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:50:20.524028+02:00"
}
},
"uid" : {
"__type" : "uid",
"uidString" : "sISlwzyZDQCZunK6Dqn2mw=="
},
"paragraphStyle" : {
"__type" : "textStyle"
},
"string" : "Were going to start the process of integrating our language by making GT understand its syntax. To do that, we are going to write a parser."
},
{
"__type" : "textSnippet",
"children" : {
"__type" : "snippets",
"items" : [ ]
},
"createEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"createTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:50:22.703511+02:00"
}
},
"editEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"editTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:52:10.981298+02:00"
}
},
"uid" : {
"__type" : "uid",
"uidString" : "mZWIVj2ZDQCZ5a/iDqn2mw=="
},
"paragraphStyle" : {
"__type" : "textStyle"
},
"string" : "The prospect of riting a parser manually most likely elicits two responses from you: “this is going to be fun” or “what a nightmare”. Usually I fall into the first category, but depending on the complexity of the languages grammar, I might also feel a little bit of the second option."
},
{
"__type" : "textSnippet",
"children" : {
"__type" : "snippets",
"items" : [ ]
},
"createEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"createTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:52:13.23472+02:00"
}
},
"editEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"editTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:57:02.826968+02:00"
}
},
"uid" : {
"__type" : "uid",
"uidString" : "gxItXT2ZDQCZ5wrNDqn2mw=="
},
"paragraphStyle" : {
"__type" : "textStyle"
},
"string" : "Luckily, we dont have to bother with any of the manual labor required in writing a parser by hand. We have [SmaCC](http://www.refactoryworkers.com/SmaCC.html), a powerful version of the YACC trope of parser generators. With it, we can generate a parser for our language with relative ease, whether we have a grammar at hand or not."
},
{
"__type" : "textSnippet",
"children" : {
"__type" : "snippets",
"items" : [ ]
},
"createEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"createTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:57:08.353695+02:00"
}
},
"editEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"editTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:58:06.623815+02:00"
}
},
"uid" : {
"__type" : "uid",
"uidString" : "fDmIbj2ZDQCZ6ou1Dqn2mw=="
},
"paragraphStyle" : {
"__type" : "textStyle"
},
"string" : "You might also want to take a look at the section {{gtPage:How to parse sources in different languages|db=2j9m7db2i4oz116bexd7wbdxo}} in the Glamorous Toolkit book to get an overview. Maybe the language you want to add is already there!"
}
]
},
"createEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"createTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:09:16.687265+02:00"
}
},
"editEmail" : {
"__type" : "email",
"emailString" : "<unknown>"
},
"editTime" : {
"__type" : "time",
"time" : {
"__type" : "dateAndTime",
"dateAndTimeString" : "2022-04-17T17:09:16.687265+02:00"
}
},
"pageType" : {
"__type" : "namedPage",
"title" : "Building a parser"
},
"uid" : {
"__type" : "uuid",
"uuid" : "56dba4c3-3c99-0d00-99b9-64b00ea9f69b"
}
}