Commit Graph

22 Commits

Author SHA1 Message Date
Emmanuel Briot
d625712fe1 Allow empty statements of declarations in gnatprep
All runtime files and all the code from Deep Blue Capital are now
parsed without errors.
2022-12-14 14:28:59 +01:00
Emmanuel Briot
faa006e5fd Allow if-expression for discriminant constraints
The rule (not visible in the RM grammar) is that
if we have a single positional discriminant, we
can omit the extra pair of parenthesis.
2022-12-14 13:49:02 +01:00
Emmanuel Briot
7fe1b1edb4 Add support for gnatprep directives
They can be folded
2022-12-14 13:29:59 +01:00
Emmanuel Briot
39697ddca8 fix support of pragmas inside exception handlers
This was copied from ada_mode, but results in
 confusion when we have statements after the pragma

Fix allocates with if-expression, which no longer
 needs double-parenthesis.
2022-12-14 12:59:09 +01:00
Emmanuel Briot
dbd3401b14 A task type can contain pragmas
Not shown in the RM grammar, but explicit in 2.8
2022-12-14 12:31:43 +01:00
Emmanuel Briot
7b4bf400ab Task types may have no task_item
Based literals may have exponents
2022-12-14 12:24:09 +01:00
Emmanuel Briot
fb54a00c16 Allow pragmas inside records 2022-12-14 12:08:24 +01:00
Emmanuel Briot
b9645c74b2 Add discriminant_constraint 2022-12-14 11:55:25 +01:00
Emmanuel Briot
a63a4f53d3 (extension with aggregates): allow a single positional item 2022-12-14 11:19:43 +01:00
Emmanuel Briot
c61d74d03a Fix parsing numeric literals with underscore in decimal part
The regexp adapted from Emacs' ada-mode was wrong,
and also not accept "E+..."
2022-12-14 11:05:55 +01:00
Emmanuel Briot
6903869a00 Fix handling of variant records
Having two component_item followed by a variant_part
was not accepted
2022-12-14 10:44:51 +01:00
Emmanuel Briot
725a32a592 Fix handling of operator names in parameter_association 2022-12-14 10:06:22 +01:00
Emmanuel Briot
c25792f45c Add support for slices 2022-12-13 12:29:02 +01:00
Emmanuel Briot
30545542d7 Remove no longer needed conflict clauses 2022-12-12 12:10:55 +01:00
Emmanuel Briot
4557f68292 Inline "statement" 2022-12-12 11:35:04 +01:00
Emmanuel Briot
d52ba823fa Add support for "or terminate" in select statements 2022-12-12 11:27:49 +01:00
Emmanuel Briot
d6ea15a3e0 Add support for double-quotes inside strings 2022-12-12 10:58:36 +01:00
Emmanuel Briot
ec82f7b2cf Fix support for Func(...).Value
Need to set associativity on selected_component
2022-12-12 10:50:59 +01:00
Emmanuel Briot
7bd8543b71 Fix error for access parameters and untyped constants 2022-12-09 14:38:08 +01:00
Emmanuel Briot
3b5200c14c Inline all rules that do not consume any character directly
This simplifies the trees significantly.
2022-12-09 12:32:06 +01:00
Emmanuel Briot
a41588c541 Various inlining of rules to simplify tree 2022-12-09 11:02:26 +01:00
Emmanuel Briot
1eafd432d7 Add queries for neovim 2022-12-08 11:53:03 +01:00