Multiple changes:
- Add the book and a few first pages - Add the code generator
This commit is contained in:
150
lepiter/98eic2h47lmzysuasji9ltxfp.lepiter
Normal file
150
lepiter/98eic2h47lmzysuasji9ltxfp.lepiter
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"__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:59:45.218163+02:00"
|
||||
}
|
||||
},
|
||||
"editEmail" : {
|
||||
"__type" : "email",
|
||||
"emailString" : "<unknown>"
|
||||
},
|
||||
"editTime" : {
|
||||
"__type" : "time",
|
||||
"time" : {
|
||||
"__type" : "dateAndTime",
|
||||
"dateAndTimeString" : "2022-04-17T18:00:37.477041+02:00"
|
||||
}
|
||||
},
|
||||
"uid" : {
|
||||
"__type" : "uid",
|
||||
"uidString" : "p8Dxdz2ZDQCabX95Dqn2mw=="
|
||||
},
|
||||
"paragraphStyle" : {
|
||||
"__type" : "textStyle"
|
||||
},
|
||||
"string" : "If you already have an ANTLR grammar for your language lying around or know how to get to one—and many popular languages already have such a grammar—, you can get to a simple parser in a matter of minutes."
|
||||
},
|
||||
{
|
||||
"__type" : "textSnippet",
|
||||
"children" : {
|
||||
"__type" : "snippets",
|
||||
"items" : [ ]
|
||||
},
|
||||
"createEmail" : {
|
||||
"__type" : "email",
|
||||
"emailString" : "<unknown>"
|
||||
},
|
||||
"createTime" : {
|
||||
"__type" : "time",
|
||||
"time" : {
|
||||
"__type" : "dateAndTime",
|
||||
"dateAndTimeString" : "2022-04-17T18:00:38.97911+02:00"
|
||||
}
|
||||
},
|
||||
"editEmail" : {
|
||||
"__type" : "email",
|
||||
"emailString" : "<unknown>"
|
||||
},
|
||||
"editTime" : {
|
||||
"__type" : "time",
|
||||
"time" : {
|
||||
"__type" : "dateAndTime",
|
||||
"dateAndTimeString" : "2022-04-17T18:03:21.19204+02:00"
|
||||
}
|
||||
},
|
||||
"uid" : {
|
||||
"__type" : "uid",
|
||||
"uidString" : "ardNez2ZDQCab0qKDqn2mw=="
|
||||
},
|
||||
"paragraphStyle" : {
|
||||
"__type" : "textStyle"
|
||||
},
|
||||
"string" : "For Carp, this route was not viable. But for you it might be. In that case I refer you to {{gtPage:How to translate an ANTLr parser into SmaCC|db=2j9m7db2i4oz116bexd7wbdxo}} in the Glamorous Toolkit book and [this livecoding session on YouTube](https://www.youtube.com/watch?v=ClxwPg_L54g) where Pharo and GT open source power house Sean DeNigris and the creator of SmaCC John Brant polish a TOML parser that was generated from an ANTLR grammar."
|
||||
},
|
||||
{
|
||||
"__type" : "textSnippet",
|
||||
"children" : {
|
||||
"__type" : "snippets",
|
||||
"items" : [ ]
|
||||
},
|
||||
"createEmail" : {
|
||||
"__type" : "email",
|
||||
"emailString" : "<unknown>"
|
||||
},
|
||||
"createTime" : {
|
||||
"__type" : "time",
|
||||
"time" : {
|
||||
"__type" : "dateAndTime",
|
||||
"dateAndTimeString" : "2022-04-17T18:03:23.459881+02:00"
|
||||
}
|
||||
},
|
||||
"editEmail" : {
|
||||
"__type" : "email",
|
||||
"emailString" : "<unknown>"
|
||||
},
|
||||
"editTime" : {
|
||||
"__type" : "time",
|
||||
"time" : {
|
||||
"__type" : "dateAndTime",
|
||||
"dateAndTimeString" : "2022-04-17T18:04:44.753707+02:00"
|
||||
}
|
||||
},
|
||||
"uid" : {
|
||||
"__type" : "uid",
|
||||
"uidString" : "5skjhT2ZDQCbeQtxDqn2mw=="
|
||||
},
|
||||
"paragraphStyle" : {
|
||||
"__type" : "textStyle"
|
||||
},
|
||||
"string" : "Apart from that, I fear, I cannot help you much if things don’t go as planned. But maybe some of the things we will discuss in the next section, [[Building a parser from scratch]], will help you get from something that generates a raw parse tree to something that generates a real usable AST for your language. Take a peek!"
|
||||
}
|
||||
]
|
||||
},
|
||||
"createEmail" : {
|
||||
"__type" : "email",
|
||||
"emailString" : "<unknown>"
|
||||
},
|
||||
"createTime" : {
|
||||
"__type" : "time",
|
||||
"time" : {
|
||||
"__type" : "dateAndTime",
|
||||
"dateAndTimeString" : "2022-04-17T17:59:41.586372+02:00"
|
||||
}
|
||||
},
|
||||
"editEmail" : {
|
||||
"__type" : "email",
|
||||
"emailString" : "<unknown>"
|
||||
},
|
||||
"editTime" : {
|
||||
"__type" : "time",
|
||||
"time" : {
|
||||
"__type" : "dateAndTime",
|
||||
"dateAndTimeString" : "2022-04-17T17:59:41.586372+02:00"
|
||||
}
|
||||
},
|
||||
"pageType" : {
|
||||
"__type" : "namedPage",
|
||||
"title" : "Building a parser from an ANTLR grammar"
|
||||
},
|
||||
"uid" : {
|
||||
"__type" : "uuid",
|
||||
"uuid" : "8527f177-3d99-0d00-9a6c-518e0ea9f69b"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user