Multiple changes:

- Add the book and a few first pages
- Add the code generator
This commit is contained in:
2022-04-17 19:48:45 +02:00
parent 0469c6dbdf
commit 199758d97d
47 changed files with 5143 additions and 41 deletions

View 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 dont 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"
}
}