--- trunk/OOPSE/libBASS/parse_tree.c 2004/01/19 16:08:21 957 +++ trunk/OOPSE/libBASS/parse_tree.c 2004/01/27 19:37:48 988 @@ -157,6 +157,20 @@ void walk_down( struct node_tag* the_node, struct name } else{ init_torsion( the_node->index ); + current_namespc.index = the_node->index; + current_namespc.type = the_node->type; + walk_down( the_node->stmt_list, current_namespc ); + } + break; + + case MEMBER_HEAD: + if( the_namespc.type != RIGIDBODY_HEAD ){ + print_tree_error( the_node, + "The Member block is not in " + "a rigidBody namespace" ); + } + else{ + init_member( the_node->index ); current_namespc.index = the_node->index; current_namespc.type = the_node->type; walk_down( the_node->stmt_list, current_namespc ); @@ -188,7 +202,7 @@ void walk_down( struct node_tag* the_node, struct name switch( the_node->type ){ - case MEMBER_STMT: + case MEMBERS_STMT: switch( the_namespc.type ){ case BOND_HEAD: // fall through case BEND_HEAD: // fall through @@ -198,7 +212,7 @@ void walk_down( struct node_tag* the_node, struct name default: print_tree_error( the_node, - "Member statement not in a bond, bend, " + "Members statement not in a bond, bend, " "or torsion" ); break; } @@ -316,29 +330,29 @@ void print_tree_error( struct node_tag* err_node, char err_node->index, err_msg ); break; - - case TORSION_HEAD: + + case ZCONSTRAINT_HEAD: sprintf( painCave.errMsg, - "Parse tree error: torsion head node error [%d] -> %s\n", + "Parse tree error: Zconstraint head node error [%d] -> %s\n", err_node->index, err_msg ); break; - - case ZCONSTRAINT_HEAD: + + case MEMBER_HEAD: sprintf( painCave.errMsg, - "Parse tree error: Zconstraint head node error [%d] -> %s\n", + "Parse tree error: member head node error [%d] -> %s\n", err_node->index, err_msg ); break; - case MEMBER_STMT: + case MEMBERS_STMT: sprintf( painCave.errMsg, - "Parse tree error: member node error => ( %d, %d, %d, %d )\n" + "Parse tree error: members node error => ( %d, %d, %d, %d )\n" " -> %s\n", - err_node->the_data.mbr.a, - err_node->the_data.mbr.b, - err_node->the_data.mbr.c, - err_node->the_data.mbr.d, + err_node->the_data.mbrs.a, + err_node->the_data.mbrs.b, + err_node->the_data.mbrs.c, + err_node->the_data.mbrs.d, err_msg ); break;