[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/geas/lib/classdefs yparser.y
From: |
Neil Tiffin |
Subject: |
gnue/geas/lib/classdefs yparser.y |
Date: |
Tue, 15 May 2001 11:32:26 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Neil Tiffin <address@hidden> 01/05/15 11:32:26
Modified files:
geas/lib/classdefs: yparser.y
Log message:
Add changes to error for duplicate class names and see why my version
and ash version of gcdverifier product different results
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/lib/classdefs/yparser.y.diff?cvsroot=OldCVS&tr1=1.22&tr2=1.23&r1=text&r2=text
Patches:
Index: gnue/geas/lib/classdefs/yparser.y
diff -u gnue/geas/lib/classdefs/yparser.y:1.22
gnue/geas/lib/classdefs/yparser.y:1.23
--- gnue/geas/lib/classdefs/yparser.y:1.22 Fri May 4 08:19:21 2001
+++ gnue/geas/lib/classdefs/yparser.y Tue May 15 11:32:26 2001
@@ -123,21 +123,28 @@
;
push_class: /* */ {
- if( current_pass == 1 ) {
- odl_class *newone;
- newone =
- odl_new_class($<uint>-4,$<string>0);
- odl_container_insert_container( yycurrent_container ,
- (odl_container *)newone );
- newone->base.parent = (odl_base *)yycurrent_container;
- yycurrent_container = newone;
- /* doindent(); printf( "push class\n" ); indent += 4;
*/
- }
- else {
+ if( current_pass == 1 )
+ {
+ odl_class *newone;
+ odl_class *check_class;
+ check_class = odl_find_class(yycurrenttree,
$<string>0, NULL);
+ if (check_class != NULL)
+ {
+ yyerror( "duplicate class name found" );
+ }
+ newone = odl_new_class($<uint>-4,$<string>0);
+ odl_container_insert_container( yycurrent_container
,
+ (odl_container
*)newone );
+ newone->base.parent = (odl_base
*)yycurrent_container;
+ yycurrent_container = newone;
+ /* doindent(); printf( "push class\n" ); indent +=
4; */
+ }
+ else
+ {
yycurrent_container = (odl_container *)
odl_find_in_container( (odl_base
*)yycurrent_container,
$<string>0);
- }
+ }
lastpushed = yycurrent_container;
}
;