| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-07-20 09:24:53 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-07-20 09:24:53 +0200 | 
| commit | 7e38e4512b407500910071120d2ad23a9ec395cf (patch) | |
| tree | f4e2f1238d3762b2ceaea2a5ccc857b5f3d3b29d /src/core | |
| parent | dddc8bc9e1184da0d0511a73c97493e89a61716b (diff) | |
Adds simplified variable declaration.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/src/tonkadur/fate/v1/parser/FateParser.g4 | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 b/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 index 3ec977a..94920f3 100644 --- a/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 +++ b/src/core/src/tonkadur/fate/v1/parser/FateParser.g4 @@ -135,6 +135,36 @@ first_level_fate_instr:     | DECLARE_VARIABLE_KW        WS+ +      type +      WS+ +      name=new_reference_name +      WS* +   R_PAREN +   { +      final Origin start_origin, type_origin; +      final Variable new_variable; + +      start_origin = +         CONTEXT.get_origin_at +         ( +            ($DECLARE_VARIABLE_KW.getLine()), +            ($DECLARE_VARIABLE_KW.getCharPositionInLine()) +         ); + +      new_variable = +         new Variable +         ( +            start_origin, +            VariableScope.LOCAL, +            ($type.result), +            ($name.result) +         ); + +      WORLD.variables().add(new_variable); +   } + +   | DECLARE_VARIABLE_KW +      WS+        scope=WORD        WS+        type | 


