Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
Revision | 679f746f4bf17fa9ac8ea1c3633093e2f432c9aa (tree) |
---|---|
Time | 2022-05-19 19:32:39 |
Author | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
asis/comment/doc added
@@ -1,3 +1,19 @@ | ||
1 | +# (C) Albert Mietus, 2022 | |
2 | +"""This module `grammar/language` defines the peg_grammar (declarations) that can be used in Castle. | |
3 | + | |
4 | +A peg_grammar (in Castle2) mainly contains (parse_)rules, but can also define setting (a kind of LEXER aliases). | |
5 | + | |
6 | +Any rule looks like:: | |
7 | + Name '<-' E1 E2 '|' E3 ';' | |
8 | + | |
9 | +Where Ex are (expression) rules itself. | |
10 | + | |
11 | +.. seealso:: The language is defined in arpeggio statements (that is a PEG itself, but using python syntax). | |
12 | + | |
13 | + See https://textx.github.io/Arpeggio/ | |
14 | +""" | |
15 | + | |
16 | + | |
1 | 17 | from arpeggio import Optional, ZeroOrMore, OneOrMore, EOF |
2 | 18 | from arpeggio import RegExMatch as _ |
3 | 19 | from arpeggio import ParserPython |