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

Comparing trunk/OOPSE/libBASS/parse_tree.c (file contents):
Revision 998 by gezelter, Thu Jan 29 23:01:17 2004 UTC vs.
Revision 1153 by gezelter, Tue May 11 04:21:52 2004 UTC

# Line 98 | Line 98 | void walk_down( struct node_tag* the_node, struct name
98          break;
99  
100        case ATOM_HEAD:
101 <        if( the_namespc.type != MOLECULE_HEAD && the_namespc.type != RIGIDBODY_HEAD ){
101 >        if( the_namespc.type != MOLECULE_HEAD ){
102               print_tree_error( the_node,
103 <                            "The atom block is not in a molecule or rigidBody namespace" );
103 >                            "The atom block is not in a molecule namespace" );
104          }
105          else{
106            init_atom( the_node->index );
# Line 113 | Line 113 | void walk_down( struct node_tag* the_node, struct name
113        case RIGIDBODY_HEAD:
114          if( the_namespc.type != MOLECULE_HEAD ){
115            print_tree_error( the_node,
116 <                            "The rigid body block is not in a molecule namespace" );
116 >                            "The RigidBody block is not in a Molecule namespace" );
117          }
118          else{
119            init_rigidbody( the_node->index );
# Line 122 | Line 122 | void walk_down( struct node_tag* the_node, struct name
122            walk_down( the_node->stmt_list, current_namespc );
123          }
124          break;
125 +
126 +      case CUTOFFGROUP_HEAD:
127 +        if( the_namespc.type != CUTOFFGROUP_HEAD ){
128 +          print_tree_error( the_node,
129 +                            "The CutoffGroup block is not in a Molecule namespace" );
130 +        }
131 +        else{
132 +          init_cutoffgroup( the_node->index );
133 +          current_namespc.index = the_node->index;
134 +          current_namespc.type = the_node->type;
135 +          walk_down( the_node->stmt_list, current_namespc );
136 +        }
137 +        break;
138          
139        case BOND_HEAD:
140          if( the_namespc.type != MOLECULE_HEAD ){
# Line 192 | Line 205 | void walk_down( struct node_tag* the_node, struct name
205          switch( the_namespc.type ){
206          case BOND_HEAD: // fall through
207          case BEND_HEAD: // fall through
208 <        case TORSION_HEAD: // same for the first three
208 >        case TORSION_HEAD:
209          case RIGIDBODY_HEAD:
210 +        case CUTOFFGROUP_HEAD: // same for the first four
211            init_members( the_node, the_namespc );
212            break;
213  
214          default:
215            print_tree_error( the_node,
216                              "Members statement not in a bond, bend, "
217 <                            "torsion, or rigidBody." );
217 >                            "torsion, RigidBody, or CutoffGroup" );
218            break;
219          }
220          break;
# Line 226 | Line 240 | void walk_down( struct node_tag* the_node, struct name
240          break;
241  
242        case POSITION_STMT:
243 <        if( the_namespc.type != ATOM_HEAD && the_namespc.type != RIGIDBODY_HEAD){
243 >        if( the_namespc.type != ATOM_HEAD ){
244            print_tree_error( the_node,
245                              "position statement is not located in an "
246 <                            "atom or rigidBody block" );
246 >                            "atom block" );
247          }
248          
249          init_position( the_node, the_namespc );
250          break;
251  
252        case ORIENTATION_STMT:
253 <        if( the_namespc.type != ATOM_HEAD && the_namespc.type != RIGIDBODY_HEAD){
253 >        if( the_namespc.type != ATOM_HEAD ){
254            print_tree_error( the_node,
255                              "orientation statement is not located in an "
256 <                            "atom or rigidBody block" );
256 >                            "atom block" );
257          }
258          
259          init_orientation( the_node, the_namespc );
# Line 296 | Line 310 | void print_tree_error( struct node_tag* err_node, char
310               "Parse tree error: rigidBody head node error -> %s\n",
311               err_msg );
312      break;
313 +    
314 +  case CUTOFFGROUP_HEAD:
315 +    sprintf( painCave.errMsg,
316 +             "Parse tree error: CutoffGroup head node error -> %s\n",
317 +             err_msg );
318 +    break;
319  
320    case ATOM_HEAD:
321      sprintf( painCave.errMsg,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines