ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/BASSyacc.y
(Generate patch)

Comparing trunk/OOPSE/libBASS/BASSyacc.y (file contents):
Revision 957 by gezelter, Mon Jan 19 16:08:21 2004 UTC vs.
Revision 998 by gezelter, Thu Jan 29 23:01:17 2004 UTC

# Line 20 | Line 20
20  
21   %token <s_ptr> IDENTIFIER
22   %token <s_ptr> QUOTED_STRING
23 + %token <s_ptr> LIST_STRING
24  
25   %type <node_ptr> stmt
26   %type <node_ptr> stmt_list
27   %type <node_ptr> assignment
28 < %type <node_ptr> member
28 > %type <node_ptr> members
29   %type <node_ptr> constraint
30   %type <node_ptr> orientation
31   %type <node_ptr> position
# Line 88 | Line 89 | stmt:
89  
90   stmt:
91            assignment            { $$ = $1; }
92 <        | member                { $$ = $1; }
92 >        | members               { $$ = $1; }
93          | constraint            { $$ = $1; }
94          | orientation           { $$ = $1; }
95          | position              { $$ = $1; }
# Line 106 | Line 107 | member:
107                                  { $$ = assign_s( $1, $3 ); }
108          ;
109  
110 < member:
111 <          MEMBERS '(' INTEGER ',' INTEGER ')' ';'
112 <                                { $$ = members_2( $3, $5 ); }
112 <        | MEMBERS '(' INTEGER ',' INTEGER ',' INTEGER ')' ';'
113 <                                { $$ = members_3( $3, $5, $7 ); }
114 <        | MEMBERS '(' INTEGER ',' INTEGER ',' INTEGER ',' INTEGER ')' ';'
115 <                                { $$ = members_4( $3, $5, $7, $9 ); }
110 > members:
111 >          MEMBERS LIST_STRING ';'
112 >                                { $$ = members( $2 ); }
113          ;
114  
115   constraint:
116 <          CONSTRAINT '(' INTEGER ')' ';'
117 <                                { $$ = constraint( (double)$3 ); }
121 <        | CONSTRAINT '(' DOUBLE ')' ';'
122 <                                { $$ = constraint( $3 ); }
116 >          CONSTRAINT LIST_STRING ';'
117 >                                { $$ = constraint( $2 ); }
118          ;
119  
120   orientation:
121 <          ORIENTATION '(' DOUBLE ',' DOUBLE ',' DOUBLE ')' ';'
122 <                                { $$ = orientation( $3, $5, $7 ); }
128 <        | ORIENTATION '(' INTEGER ',' DOUBLE ',' DOUBLE ')' ';'
129 <                                { $$ = orientation( (double)$3, $5, $7 ); }
130 <        | ORIENTATION '(' DOUBLE ',' INTEGER ',' DOUBLE ')' ';'
131 <                                { $$ = orientation( $3, (double)$5, $7 ); }
132 <        | ORIENTATION '(' DOUBLE ',' DOUBLE ',' INTEGER ')' ';'
133 <                                { $$ = orientation( $3, $5, (double)$7 ); }
134 <        | ORIENTATION '(' INTEGER ',' INTEGER ',' INTEGER ')' ';'
135 <                                { $$ = orientation( (double)$3, (double)$5, (double)$7 ); }
136 <        | ORIENTATION '(' DOUBLE ',' INTEGER ',' INTEGER ')' ';'
137 <                                { $$ = orientation( $3, (double)$5, (double)$7 ); }
138 <        | ORIENTATION '(' INTEGER ',' DOUBLE ',' INTEGER ')' ';'
139 <                                { $$ = orientation( (double)$3, $5, (double)$7 ); }
140 <        | ORIENTATION '(' INTEGER ',' INTEGER ',' DOUBLE ')' ';'
141 <                                { $$ = orientation( (double)$3, (double)$5, $7 ); }
121 >          ORIENTATION LIST_STRING ';'
122 >                                { $$ = orientation( $2 ); }
123          ;
124  
125   position:
126 <          POSITION '(' DOUBLE ',' DOUBLE ',' DOUBLE ')' ';'
127 <                                { $$ = position( $3, $5, $7 ); }
147 <        | POSITION '(' INTEGER ',' DOUBLE ',' DOUBLE ')' ';'
148 <                                { $$ = position( (double)$3, $5, $7 ); }
149 <        | POSITION '(' DOUBLE ',' INTEGER ',' DOUBLE ')' ';'
150 <                                { $$ = position( $3, (double)$5, $7 ); }
151 <        | POSITION '(' DOUBLE ',' DOUBLE ',' INTEGER ')' ';'
152 <                                { $$ = position( $3, $5, (double)$7 ); }
153 <        | POSITION '(' INTEGER ',' INTEGER ',' INTEGER ')' ';'
154 <                                { $$ = position( (double)$3, (double)$5, (double)$7 ); }
155 <        | POSITION '(' DOUBLE ',' INTEGER ',' INTEGER ')' ';'
156 <                                { $$ = position( $3, (double)$5, (double)$7 ); }
157 <        | POSITION '(' INTEGER ',' DOUBLE ',' INTEGER ')' ';'
158 <                                { $$ = position( (double)$3, $5, (double)$7 ); }
159 <        | POSITION '(' INTEGER ',' INTEGER ',' DOUBLE ')' ';'
160 <                                { $$ = position( (double)$3, (double)$5, $7 ); }
126 >          POSITION LIST_STRING ';'
127 >                                { $$ = position( $2 ); }
128          ;
129  
130   block:
# Line 205 | Line 172 | rigidbody_block:
172          RIGIDBODY ARRAY_INDEX '{' stmt_list '}'
173                                  { $$ = rigidbody_blk( $2, $4 ); }
174          ;
175 <        
175 >                
176   component_block:
177          COMPONENT '{' stmt_list '}'
178                                  { $$ = component_blk( $3 ); }
# Line 224 | Line 191 | int yyerror( char *err_msg ){
191  
192   int yyerror( char *err_msg ){
193  
194 <  sprintf( painCave.errMsg, "yacc parse error in %s at line %d: %s\n",
195 <           yyfile_name->my_name, yylineno, err_msg );
194 >  sprintf( painCave.errMsg, "OOPSE parse error in %s at line %d: %s\n",
195 >           yyfile_name->my_name, yylineno + 1, err_msg );
196    painCave.isFatal = 1;
197    simError();
198    return 0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines