parser.y

changeset 7
e1f52aa9f252
parent 5
9eb47d44dab9
child 8
7288d2753c18
     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