]> git.ozlabs.org Git - petitboot/commitdiff
discover/grub2: Allow both delimiters and EOLs after a "then" reserved word
authorJeremy Kerr <jk@ozlabs.org>
Tue, 24 Sep 2013 05:55:57 +0000 (13:55 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Tue, 24 Sep 2013 05:55:57 +0000 (13:55 +0800)
Putting an if-statement on one line should be possible:

 if true; then echo "true"; else echo "false"; fi

To do this, we'll need to allow both EOLs and TOKEN_DELIM after then and
else.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
discover/grub2/parser.y

index 6d3ff2117140dd9d4b3b8a1de7643fa1cd3429ac..02ca7b2799f53f57bc9ef55f6dcfacbdae880a67 100644 (file)
@@ -84,7 +84,9 @@ statements: /* empty */ {
                $$ = $1;
        }
 
-conditional: statement TOKEN_EOL "then" TOKEN_EOL statements {
+sep:   TOKEN_DELIM | TOKEN_EOL;
+
+conditional: statement TOKEN_EOL "then" sep statements {
                $$ = create_statement_conditional(parser, $1, $5);
        }
 
@@ -112,7 +114,7 @@ statement:
        }
        | "if" TOKEN_DELIM conditional
                elifs
-               "else" TOKEN_EOL
+               "else" sep
                statements
                "fi" {
                $$ = create_statement_if(parser, $3, $4, $7);