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 988 by gezelter, Tue Jan 27 19:37:48 2004 UTC

# Line 1 | Line 1
1  
2   /* define some general tokens */
3  
4 < %token MOLECULE ATOM BOND BEND TORSION POSITION MEMBERS CONSTRAINT
4 > %token MOLECULE ATOM BOND BEND TORSION POSITION MEMBERS MEMBER CONSTRAINT
5   %token COMPONENT START_INDEX DEFINED ORIENTATION ZCONSTRAINT RIGIDBODY
6  
7   /* more advanced tokens */
# Line 24 | Line 24
24   %type <node_ptr> stmt
25   %type <node_ptr> stmt_list
26   %type <node_ptr> assignment
27 < %type <node_ptr> member
27 > %type <node_ptr> members
28   %type <node_ptr> constraint
29   %type <node_ptr> orientation
30   %type <node_ptr> position
# Line 37 | Line 37
37   %type <node_ptr> component_block
38   %type <node_ptr> zconstraint_block
39   %type <node_ptr> rigidbody_block
40 + %type <node_ptr> member_block
41  
42  
43   %{
# 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:
110 > members:
111            MEMBERS '(' INTEGER ',' INTEGER ')' ';'
112                                  { $$ = members_2( $3, $5 ); }
113          | MEMBERS '(' INTEGER ',' INTEGER ',' INTEGER ')' ';'
# Line 168 | Line 169 | block:
169          | torsion_block         { $$ = $1; }
170          | zconstraint_block     { $$ = $1; }
171          | rigidbody_block       { $$ = $1; }
172 +        | member_block          { $$ = $1; }
173          | component_block       { $$ = $1; }
174          ;
175  
# Line 206 | Line 208 | component_block:
208                                  { $$ = rigidbody_blk( $2, $4 ); }
209          ;
210          
211 + member_block:
212 +        MEMBER ARRAY_INDEX '{' stmt_list '}'
213 +                                { $$ = member_blk( $2, $4 ); }
214 +        ;
215 +        
216   component_block:
217          COMPONENT '{' stmt_list '}'
218                                  { $$ = component_blk( $3 ); }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines