Update of /cvsroot/perl-ldap/asn
In directory sc8-pr-cvs1:/tmp/cvs-serv9128
Modified Files:
parser.y
Log Message:
Add support for ANY DEFINED BY
Patch from Simon Wilkinson
Index: parser.y
===================================================================
RCS file: /cvsroot/perl-ldap/asn/parser.y,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- parser.y 6 May 2003 12:40:32 -0000 1.9
+++ parser.y 6 May 2003 21:29:07 -0000 1.10
@@ -16,6 +16,8 @@
%token ENUM 16
%token COMPONENTS 17
%token POSTRBRACE 18
+%token DEFINED 19
+%token BY 20
%{
# Copyright (c) 2000-2002 Graham Barr <gb...@po...>. All rights reserved.
@@ -164,17 +166,21 @@
}
;
-oielem : WORD
- | SEQUENCE
- | SET
- | ANY
- | ENUM
- ;
-
-oelem : oielem
+oielem : WORD { @{$$ = []}[cTYPE] = $1; }
+ | SEQUENCE { @{$$ = []}[cTYPE] = $1; }
+ | SET { @{$$ = []}[cTYPE] = $1; }
+ | ANY defined
{
- @{$$ = []}[cTYPE] = ($1);
+ @{$$ = []}[cTYPE,cCHILD,cDEFINE] = ('ANY',undef,$2);
}
+ | ENUM { @{$$ = []}[cTYPE] = $1; }
+ ;
+
+defined : { $$=undef; }
+ | DEFINED BY WORD { $$=$3; }
+ ;
+
+oelem : oielem
;
nlist : nlist1 { $$ = $1; }
@@ -287,6 +293,8 @@
'}' => $RBRACE,
',' => $COMMA,
'::=' => $ASSIGN,
+ 'DEFINED' => $DEFINED,
+ 'BY' => $BY
);
my $reserved = join("|", reverse sort grep { /\w/ } keys %reserved);
|