]> ocean-lang.org Git - ocean/blobdiff - csrc/indent_test.mdc
indent-test: minor improvements:
[ocean] / csrc / indent_test.mdc
index 087df32c4957ee5f7fa5bcb441162377ce77eb4b..f3bd7f1517960575b2ceb71253f2647c739223ae 100644 (file)
@@ -10,7 +10,7 @@ with complete bracketing and indenting.
        all :: itest
        itest.c itest.h : indent_test.mdc parsergen
                ./parsergen -o itest --LALR --tag indent indent_test.mdc
-       indent_test.mk: indent_test.mdc md2c
+       indent_test.mk itest.code: indent_test.mdc md2c
                ./md2c indent_test.mdc
        itest: itest.c | $(filter %.o,$(itestLDLIBS))
                $(CC) $(itestCFLAGS) $^ $(itestLDLIBS) -o $@
@@ -19,19 +19,15 @@ with complete bracketing and indenting.
                ./itest itest.code
        checkitest: itest itest.code
                @grep -v '^#' itest.out > .tmp.out
-               @./itest itest.code | diff -u - .tmp.out || echo itest FAILED
+               @./itest itest.code | diff -u .tmp.out - || echo itest FAILED
                @sed -e 'i\
                ' itest.code > itest2.code
-               @./itest itest2.code| diff -u - .tmp.out || echo itest2 FAILED
+               @./itest itest2.code| diff -u .tmp.out - || echo itest2 FAILED
        demos :: doitest
        tests :: checkitest
 
 # indent: header
 
- ./parsergen -o itest --LALR indent_test.cgm
- cc -o itest itest.c lib*.o -licuuc -lgmp
- ./itest itest.code
-
        struct expression {
                struct text op;
                struct expression *left, *right;
@@ -139,8 +135,8 @@ 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 ${
                                {
@@ -159,20 +155,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; }$