From: Graham B. <gb...@us...> - 2003-05-06 21:57:51
|
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); |