Fri, 28 Dec 2001 04:55:47 +0000
*** empty log message ***
parser.y | file | annotate | diff | revisions | |
scanner.l | file | annotate | diff | revisions |
1.1 diff -r 72eb20f1a4ec -r e1f52aa9f252 parser.y 1.2 --- a/parser.y Fri Dec 28 04:44:15 2001 +0000 1.3 +++ b/parser.y Fri Dec 28 04:55:47 2001 +0000 1.4 @@ -12,6 +12,8 @@ 1.5 %token <fp> FLOAT 1.6 %token <string> STRING 1.7 1.8 +%token ELIPSIS 1.9 + 1.10 %token EVEN 1.11 %token ODD 1.12 %token ALL 1.13 @@ -32,16 +34,16 @@ 1.14 1.15 %% 1.16 1.17 -statements: statement | statements statement; 1.18 +statements: statement | statements statement ; 1.19 1.20 -statement: input_statement | output_statement; 1.21 +statement: input_statement | output_statement ; 1.22 1.23 1.24 -range: INTEGER ".." INTEGER 1.25 - | INTEGER; 1.26 +range: INTEGER ELIPSIS INTEGER 1.27 + | INTEGER ; 1.28 1.29 ranges: range 1.30 - | ranges ',' range; 1.31 + | ranges ',' range ; 1.32 1.33 1.34 file_clause: 1.35 @@ -60,23 +62,26 @@ 1.36 SIZE FLOAT ',' FLOAT ';' ; 1.37 1.38 part: 1.39 - EVEN | ODD | ALL; 1.40 + EVEN | ODD | ALL ; 1.41 1.42 part_clause: 1.43 - part ';' ; 1.44 + part input_clause ; 1.45 1.46 input_clause: 1.47 part_clause 1.48 | file_clause | image_clause | rotate_clause 1.49 - | crop_clause | size_clause; 1.50 + | crop_clause | size_clause 1.51 + | input_clause_list ; 1.52 1.53 input_clauses: 1.54 input_clause 1.55 - | input_clauses input_clause; 1.56 + | input_clauses input_clause ; 1.57 + 1.58 +input_clause_list: 1.59 + '{' input_clauses '}' ; 1.60 1.61 input_statement: 1.62 - INPUT '{' input_clauses '}' ; 1.63 - 1.64 + INPUT input_clause ; 1.65 1.66 page_clause: 1.67 PAGE ranges ';' 1.68 @@ -86,12 +91,16 @@ 1.69 BOOKMARK STRING ';' ; 1.70 1.71 output_clause: 1.72 - page_clause | bookmark_clause; 1.73 + page_clause | bookmark_clause 1.74 + | output_clause_list ; 1.75 1.76 output_clauses: 1.77 output_clause 1.78 - | output_clauses output_clause; 1.79 + | output_clauses output_clause ; 1.80 + 1.81 +output_clause_list: 1.82 + '{' output_clauses '}' ; 1.83 1.84 output_statement: 1.85 - OUTPUT '{' output_clauses '}' ; 1.86 + OUTPUT output_clause ; 1.87
2.1 diff -r 72eb20f1a4ec -r e1f52aa9f252 scanner.l 2.2 --- a/scanner.l Fri Dec 28 04:44:15 2001 +0000 2.3 +++ b/scanner.l Fri Dec 28 04:55:47 2001 +0000 2.4 @@ -11,6 +11,8 @@ 2.5 2.6 %% 2.7 2.8 +\.\. { return (ELIPSIS); } 2.9 + 2.10 {digit}+ { yylval.integer = atoi (yytext); return (INTEGER); } 2.11 2.12 all { return (ALL); }