Commit Graph

41 Commits

Author SHA1 Message Date
Pierre-Marie de Rodat
03514cf10d Extend the concrete syntax to support List parsers' list_cls setting
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
084cc1509f dsl_unparse: fix precedence issues with extract parsers
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
d8e21b08ba dsl_unparse: fix unparsing of List parsers (switch + and *)
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
5353f6da3a dsl_unparse: preserve grammar rules order
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
fd82fc1d46 dsl_unparse: fix unparsing of booleanizing Opt parsers
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
e586a93d9a dsl_unparse: unparse main grammar rules
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
3237629d7d dsl_unparse: fix grammar name computation
Also use "Foo" as the short name for example libraries in testcases.

TN: RA22-015
2020-02-26 12:09:38 +01:00
Raphaël AMIARD
4e7b5f5890 RA22-015: Work on the parser and typer 2020-02-25 11:40:10 +01:00
Raphaël AMIARD
b85e638a68 RA22-015: Emit @abstract qualifiers for fields and classes 2020-02-25 11:40:10 +01:00
Raphaël AMIARD
491b238315 RA22-015: Properly unparse string literal tokens in grammars 2020-02-25 11:40:10 +01:00
Raphaël AMIARD
039a8f5cc9 RA22-015: Use ';' as separator in blocks 2020-02-06 17:37:15 +01:00
Raphaël AMIARD
5184ce562f RA22-015: Remove new keyword for object creation 2020-02-06 17:37:15 +01:00
Raphaël AMIARD
f86e493ba8 RA22-015: dsl_unparse - emit top level extract with parens 2020-02-06 17:37:15 +01:00
Raphaël AMIARD
34d63f324f RA22-015: Fix unparsing of isa operator
is_a -> isa (purely cosmetic)
Put parens if there are multiple types on the RHS
2020-02-06 17:03:04 +01:00
Raphaël AMIARD
9e91b95f81 RA22-015: unparse "!" as an operator in casts 2020-02-06 17:03:04 +01:00
Raphaël AMIARD
759ec7ab77 RA22-015: Emit correct names for user defined list types 2020-02-06 17:03:04 +01:00
Raphaël AMIARD
1ea39a364d RA22-015: Rename null -> null_node to avoid conflicts 2020-02-06 17:03:04 +01:00
Raphaël AMIARD
414892b716 RA22-015: change enum node syntax in unparser
Now:

    @enum_node(A, B, C) class MyEnumNode {
    }
2020-02-06 17:03:04 +01:00
Raphaël AMIARD
faf6dd126c RA22-015: Dont emit generic list types 2020-02-06 17:03:04 +01:00
Raphaël AMIARD
3ae11cdbe0 RA22-015: Use annotations for enum & qualifier node classes 2020-02-06 17:03:04 +01:00
Raphaël AMIARD
524ce95fed RA22-015: Properly parse comments and doc comments
Properly unparse doc comments
2020-02-06 17:03:04 +01:00
Raphaël AMIARD
5ae33bf3ba RA22-015: Use "@export" rather than "public"
As a syntax to make entities visible in the public APIs. That will allow
us to keep "public" & "private" for internal DSL visibility concerns.
2020-01-14 16:58:05 +01:00
Raphaël AMIARD
339ac82910 RA22-015: use annotation syntax for parse fields 2020-01-14 16:58:05 +01:00
Raphaël AMIARD
375b5d2a8e RA22-015: switch to braces
We want to have a block based functional language and braces are a
common choice for that.
2020-01-14 16:58:05 +01:00
Raphaël AMIARD
b809553bb8 RA22-015: improve blank lines generation 2020-01-14 16:58:05 +01:00