]> ocean-lang.org Git - ocean/blobdiff - csrc/indent_test.mdc
parsergen: add more power to symbol references in generated code
[ocean] / csrc / indent_test.mdc
index 3df78d08a937245deb0fbbc6f821ec65a9736c05..fddb64b7520a15931b430075406c2853f056fef3 100644 (file)
@@ -132,13 +132,15 @@ with complete bracketing and indenting.
 
 ~~~~~~
 
+$TERM if { } : * + - / ; =
+
 Program -> Statementlist ${ print_statement($1, 0); }$
 
 $*statement
        Newlines -> NEWLINE
                | Newlines NEWLINE
-       Statementlist ->  Statements ${ $0 = $<1; }$
-               | Newlines Statements ${ $0 = $<2; }$
+       Statementlist ->  Statements ${ $0 = $<S; }$
+               | Newlines Statements ${ $0 = $<S1; }$
 
        Statements -> Statements Statement ${
                                {
@@ -157,20 +159,20 @@ $*statement
                | Newlines {
        Close -> }
                | Newlines }
-       Block -> Open Statementlist Close ${ $0 = $<2; }$
-               | Open SimpleStatements } ${ $0 = $<2; }$
-               | : SimpleStatements ${ $0 = $<2; }$
-               | : StatementBlock ${ $0 = $<2; }$
-       StatementBlock -> Statementlist $$OUT ${ $0 = $<1; }$
+       Block -> Open Statementlist Close ${ $0 = $<S; }$
+               | Open SimpleStatements } ${ $0 = $<S; }$
+               | : SimpleStatements ${ $0 = $<SS; }$
+               | : StatementBlock ${ $0 = $<SB; }$
+       StatementBlock -> Statementlist $$OUT ${ $0 = $<Sl; }$
 
        SimpleStatements -> SimpleStatements ; SimpleStatement ${
                        {
                                struct statement **s;
-                               $0 = $<1;
+                               $0 = $<SSs;
                                s = &$0;
                                while (*s)
                                        s = &(*s)->next;
-                               *s = $<3;
+                               *s = $<SS;
                        }
                        }$
                | SimpleStatement ${ $0 = $<1; }$