--- a/dummy_foundation/lib/Parse/Yapp/Parse.pm Wed Jun 03 18:33:51 2009 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1093 +0,0 @@
-####################################################################
-#
-# This file was generated using Parse::Yapp version 1.05.
-#
-# Don't edit this file, use source file instead.
-#
-# ANY CHANGE MADE HERE WILL BE LOST !
-#
-####################################################################
-package Parse::Yapp::Parse;
-use vars qw ( @ISA );
-use strict;
-
-@ISA= qw ( Parse::Yapp::Driver );
-use Parse::Yapp::Driver;
-
-#line 1 "YappParse.yp"
-# (c) Copyright Francois Desarmenien 1998-2001, all rights reserved.
-# (see COPYRIGHT in Parse::Yapp.pm pod section for use and distribution rights)
-#
-# Parse/Yapp/Parser.yp: Parse::Yapp::Parser.pm source file
-#
-# Use: yapp -m 'Parse::Yapp::Parse' -o Parse/Yapp/Parse.pm YappParse.yp
-#
-# to generate the Parser module.
-#
-#line 12 "YappParse.yp"
-
-require 5.004;
-
-use Carp;
-
-my($input,$lexlevel,@lineno,$nberr,$prec,$labelno);
-my($syms,$head,$tail,$token,$term,$nterm,$rules,$precterm,$start,$nullable);
-my($expect);
-
-
-
-sub new {
- my($class)=shift;
- ref($class)
- and $class=ref($class);
-
- my($self)=$class->SUPER::new( yyversion => '1.05',
- yystates =>
-[
- {#State 0
- ACTIONS => {
- "%%" => -6,
- 'HEADCODE' => 3,
- 'UNION' => 2,
- 'TOKEN' => 5,
- 'ASSOC' => 7,
- 'START' => 6,
- 'error' => 9,
- 'TYPE' => 10,
- "\n" => 11,
- 'EXPECT' => 13
- },
- GOTOS => {
- 'head' => 1,
- 'decls' => 12,
- 'yapp' => 4,
- 'decl' => 14,
- 'headsec' => 8
- }
- },
- {#State 1
- ACTIONS => {
- 'error' => 19,
- "%%" => 16,
- 'IDENT' => 18
- },
- GOTOS => {
- 'rules' => 15,
- 'rulesec' => 20,
- 'body' => 17
- }
- },
- {#State 2
- ACTIONS => {
- 'CODE' => 21
- }
- },
- {#State 3
- ACTIONS => {
- "\n" => 22
- }
- },
- {#State 4
- ACTIONS => {
- '' => 23
- }
- },
- {#State 5
- ACTIONS => {
- "<" => 25
- },
- DEFAULT => -19,
- GOTOS => {
- 'typedecl' => 24
- }
- },
- {#State 6
- ACTIONS => {
- 'IDENT' => 26
- },
- GOTOS => {
- 'ident' => 27
- }
- },
- {#State 7
- ACTIONS => {
- "<" => 25
- },
- DEFAULT => -19,
- GOTOS => {
- 'typedecl' => 28
- }
- },
- {#State 8
- ACTIONS => {
- "%%" => 29
- }
- },
- {#State 9
- ACTIONS => {
- "\n" => 30
- }
- },
- {#State 10
- ACTIONS => {
- "<" => 25
- },
- DEFAULT => -19,
- GOTOS => {
- 'typedecl' => 31
- }
- },
- {#State 11
- DEFAULT => -10
- },
- {#State 12
- ACTIONS => {
- "%%" => -7,
- 'HEADCODE' => 3,
- 'UNION' => 2,
- 'TOKEN' => 5,
- 'ASSOC' => 7,
- 'START' => 6,
- 'error' => 9,
- 'TYPE' => 10,
- "\n" => 11,
- 'EXPECT' => 13
- },
- GOTOS => {
- 'decl' => 32
- }
- },
- {#State 13
- ACTIONS => {
- 'NUMBER' => 33
- }
- },
- {#State 14
- DEFAULT => -9
- },
- {#State 15
- DEFAULT => -28
- },
- {#State 16
- DEFAULT => -26
- },
- {#State 17
- ACTIONS => {
- 'TAILCODE' => 34
- },
- DEFAULT => -45,
- GOTOS => {
- 'tail' => 35
- }
- },
- {#State 18
- ACTIONS => {
- ":" => 36
- }
- },
- {#State 19
- ACTIONS => {
- ";" => 37
- }
- },
- {#State 20
- ACTIONS => {
- 'error' => 19,
- "%%" => 39,
- 'IDENT' => 18
- },
- GOTOS => {
- 'rules' => 38
- }
- },
- {#State 21
- ACTIONS => {
- "\n" => 40
- }
- },
- {#State 22
- DEFAULT => -14
- },
- {#State 23
- DEFAULT => -0
- },
- {#State 24
- ACTIONS => {
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- GOTOS => {
- 'symlist' => 43,
- 'ident' => 44,
- 'symbol' => 42
- }
- },
- {#State 25
- ACTIONS => {
- 'IDENT' => 45
- }
- },
- {#State 26
- DEFAULT => -4
- },
- {#State 27
- ACTIONS => {
- "\n" => 46
- }
- },
- {#State 28
- ACTIONS => {
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- GOTOS => {
- 'symlist' => 47,
- 'ident' => 44,
- 'symbol' => 42
- }
- },
- {#State 29
- DEFAULT => -5
- },
- {#State 30
- DEFAULT => -18
- },
- {#State 31
- ACTIONS => {
- 'IDENT' => 26
- },
- GOTOS => {
- 'ident' => 48,
- 'identlist' => 49
- }
- },
- {#State 32
- DEFAULT => -8
- },
- {#State 33
- ACTIONS => {
- "\n" => 50
- }
- },
- {#State 34
- DEFAULT => -46
- },
- {#State 35
- DEFAULT => -1
- },
- {#State 36
- ACTIONS => {
- 'CODE' => 57,
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- DEFAULT => -35,
- GOTOS => {
- 'rhselts' => 56,
- 'rule' => 51,
- 'code' => 52,
- 'rhs' => 53,
- 'ident' => 44,
- 'rhselt' => 58,
- 'rhss' => 55,
- 'symbol' => 54
- }
- },
- {#State 37
- DEFAULT => -30
- },
- {#State 38
- DEFAULT => -27
- },
- {#State 39
- DEFAULT => -25
- },
- {#State 40
- DEFAULT => -15
- },
- {#State 41
- DEFAULT => -2
- },
- {#State 42
- DEFAULT => -22
- },
- {#State 43
- ACTIONS => {
- "\n" => 60,
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- GOTOS => {
- 'ident' => 44,
- 'symbol' => 59
- }
- },
- {#State 44
- DEFAULT => -3
- },
- {#State 45
- ACTIONS => {
- ">" => 61
- }
- },
- {#State 46
- DEFAULT => -13
- },
- {#State 47
- ACTIONS => {
- "\n" => 62,
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- GOTOS => {
- 'ident' => 44,
- 'symbol' => 59
- }
- },
- {#State 48
- DEFAULT => -24
- },
- {#State 49
- ACTIONS => {
- "\n" => 63,
- 'IDENT' => 26
- },
- GOTOS => {
- 'ident' => 64
- }
- },
- {#State 50
- DEFAULT => -17
- },
- {#State 51
- DEFAULT => -32
- },
- {#State 52
- DEFAULT => -40
- },
- {#State 53
- ACTIONS => {
- 'PREC' => 66
- },
- DEFAULT => -34,
- GOTOS => {
- 'prec' => 65
- }
- },
- {#State 54
- DEFAULT => -39
- },
- {#State 55
- ACTIONS => {
- "|" => 68,
- ";" => 67
- }
- },
- {#State 56
- ACTIONS => {
- 'CODE' => 57,
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- DEFAULT => -36,
- GOTOS => {
- 'code' => 52,
- 'ident' => 44,
- 'rhselt' => 69,
- 'symbol' => 54
- }
- },
- {#State 57
- DEFAULT => -44
- },
- {#State 58
- DEFAULT => -38
- },
- {#State 59
- DEFAULT => -21
- },
- {#State 60
- DEFAULT => -11
- },
- {#State 61
- DEFAULT => -20
- },
- {#State 62
- DEFAULT => -12
- },
- {#State 63
- DEFAULT => -16
- },
- {#State 64
- DEFAULT => -23
- },
- {#State 65
- ACTIONS => {
- 'CODE' => 57
- },
- DEFAULT => -42,
- GOTOS => {
- 'code' => 70,
- 'epscode' => 71
- }
- },
- {#State 66
- ACTIONS => {
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- GOTOS => {
- 'ident' => 44,
- 'symbol' => 72
- }
- },
- {#State 67
- DEFAULT => -29
- },
- {#State 68
- ACTIONS => {
- 'CODE' => 57,
- 'LITERAL' => 41,
- 'IDENT' => 26
- },
- DEFAULT => -35,
- GOTOS => {
- 'rhselts' => 56,
- 'rule' => 73,
- 'code' => 52,
- 'rhs' => 53,
- 'ident' => 44,
- 'rhselt' => 58,
- 'symbol' => 54
- }
- },
- {#State 69
- DEFAULT => -37
- },
- {#State 70
- DEFAULT => -43
- },
- {#State 71
- DEFAULT => -33
- },
- {#State 72
- DEFAULT => -41
- },
- {#State 73
- DEFAULT => -31
- }
-],
- yyrules =>
-[
- [#Rule 0
- '$start', 2, undef
- ],
- [#Rule 1
- 'yapp', 3, undef
- ],
- [#Rule 2
- 'symbol', 1,
-sub
-#line 30 "YappParse.yp"
-{
- exists($$syms{$_[1][0]})
- or do {
- $$syms{$_[1][0]} = $_[1][1];
- $$term{$_[1][0]} = undef;
- };
- $_[1]
- }
- ],
- [#Rule 3
- 'symbol', 1, undef
- ],
- [#Rule 4
- 'ident', 1,
-sub
-#line 41 "YappParse.yp"
-{
- exists($$syms{$_[1][0]})
- or do {
- $$syms{$_[1][0]} = $_[1][1];
- $$term{$_[1][0]} = undef;
- };
- $_[1]
- }
- ],
- [#Rule 5
- 'head', 2, undef
- ],
- [#Rule 6
- 'headsec', 0, undef
- ],
- [#Rule 7
- 'headsec', 1, undef
- ],
- [#Rule 8
- 'decls', 2, undef
- ],
- [#Rule 9
- 'decls', 1, undef
- ],
- [#Rule 10
- 'decl', 1, undef
- ],
- [#Rule 11
- 'decl', 4,
-sub
-#line 66 "YappParse.yp"
-{
- for (@{$_[3]}) {
- my($symbol,$lineno)=@$_;
-
- exists($$token{$symbol})
- and do {
- _SyntaxError(0,
- "Token $symbol redefined: ".
- "Previously defined line $$syms{$symbol}",
- $lineno);
- next;
- };
- $$token{$symbol}=$lineno;
- $$term{$symbol} = [ ];
- }
- undef
- }
- ],
- [#Rule 12
- 'decl', 4,
-sub
-#line 84 "YappParse.yp"
-{
- for (@{$_[3]}) {
- my($symbol,$lineno)=@$_;
-
- defined($$term{$symbol}[0])
- and do {
- _SyntaxError(1,
- "Precedence for symbol $symbol redefined: ".
- "Previously defined line $$syms{$symbol}",
- $lineno);
- next;
- };
- $$token{$symbol}=$lineno;
- $$term{$symbol} = [ $_[1][0], $prec ];
- }
- ++$prec;
- undef
- }
- ],
- [#Rule 13
- 'decl', 3,
-sub
-#line 102 "YappParse.yp"
-{ $start=$_[2][0]; undef }
- ],
- [#Rule 14
- 'decl', 2,
-sub
-#line 103 "YappParse.yp"
-{ push(@$head,$_[1]); undef }
- ],
- [#Rule 15
- 'decl', 3,
-sub
-#line 104 "YappParse.yp"
-{ undef }
- ],
- [#Rule 16
- 'decl', 4,
-sub
-#line 106 "YappParse.yp"
-{
- for ( @{$_[3]} ) {
- my($symbol,$lineno)=@$_;
-
- exists($$nterm{$symbol})
- and do {
- _SyntaxError(0,
- "Non-terminal $symbol redefined: ".
- "Previously defined line $$syms{$symbol}",
- $lineno);
- next;
- };
- delete($$term{$symbol}); #not a terminal
- $$nterm{$symbol}=undef; #is a non-terminal
- }
- }
- ],
- [#Rule 17
- 'decl', 3,
-sub
-#line 122 "YappParse.yp"
-{ $expect=$_[2][0]; undef }
- ],
- [#Rule 18
- 'decl', 2,
-sub
-#line 123 "YappParse.yp"
-{ $_[0]->YYErrok }
- ],
- [#Rule 19
- 'typedecl', 0, undef
- ],
- [#Rule 20
- 'typedecl', 3, undef
- ],
- [#Rule 21
- 'symlist', 2,
-sub
-#line 130 "YappParse.yp"
-{ push(@{$_[1]},$_[2]); $_[1] }
- ],
- [#Rule 22
- 'symlist', 1,
-sub
-#line 131 "YappParse.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 23
- 'identlist', 2,
-sub
-#line 134 "YappParse.yp"
-{ push(@{$_[1]},$_[2]); $_[1] }
- ],
- [#Rule 24
- 'identlist', 1,
-sub
-#line 135 "YappParse.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 25
- 'body', 2,
-sub
-#line 140 "YappParse.yp"
-{
- $start
- or $start=$$rules[1][0];
-
- ref($$nterm{$start})
- or _SyntaxError(2,"Start symbol $start not found ".
- "in rules section",$_[2][1]);
-
- $$rules[0]=[ '$start', [ $start, chr(0) ], undef, undef ];
- }
- ],
- [#Rule 26
- 'body', 1,
-sub
-#line 150 "YappParse.yp"
-{ _SyntaxError(2,"No rules in input grammar",$_[1][1]); }
- ],
- [#Rule 27
- 'rulesec', 2, undef
- ],
- [#Rule 28
- 'rulesec', 1, undef
- ],
- [#Rule 29
- 'rules', 4,
-sub
-#line 157 "YappParse.yp"
-{ _AddRules($_[1],$_[3]); undef }
- ],
- [#Rule 30
- 'rules', 2,
-sub
-#line 158 "YappParse.yp"
-{ $_[0]->YYErrok }
- ],
- [#Rule 31
- 'rhss', 3,
-sub
-#line 161 "YappParse.yp"
-{ push(@{$_[1]},$_[3]); $_[1] }
- ],
- [#Rule 32
- 'rhss', 1,
-sub
-#line 162 "YappParse.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 33
- 'rule', 3,
-sub
-#line 165 "YappParse.yp"
-{ push(@{$_[1]}, $_[2], $_[3]); $_[1] }
- ],
- [#Rule 34
- 'rule', 1,
-sub
-#line 166 "YappParse.yp"
-{
- my($code)=undef;
-
- defined($_[1])
- and $_[1][-1][0] eq 'CODE'
- and $code = ${pop(@{$_[1]})}[1];
-
- push(@{$_[1]}, undef, $code);
-
- $_[1]
- }
- ],
- [#Rule 35
- 'rhs', 0, undef
- ],
- [#Rule 36
- 'rhs', 1, undef
- ],
- [#Rule 37
- 'rhselts', 2,
-sub
-#line 183 "YappParse.yp"
-{ push(@{$_[1]},$_[2]); $_[1] }
- ],
- [#Rule 38
- 'rhselts', 1,
-sub
-#line 184 "YappParse.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 39
- 'rhselt', 1,
-sub
-#line 187 "YappParse.yp"
-{ [ 'SYMB', $_[1] ] }
- ],
- [#Rule 40
- 'rhselt', 1,
-sub
-#line 188 "YappParse.yp"
-{ [ 'CODE', $_[1] ] }
- ],
- [#Rule 41
- 'prec', 2,
-sub
-#line 192 "YappParse.yp"
-{
- defined($$term{$_[2][0]})
- or do {
- _SyntaxError(1,"No precedence for symbol $_[2][0]",
- $_[2][1]);
- return undef;
- };
-
- ++$$precterm{$_[2][0]};
- $$term{$_[2][0]}[1];
- }
- ],
- [#Rule 42
- 'epscode', 0,
-sub
-#line 205 "YappParse.yp"
-{ undef }
- ],
- [#Rule 43
- 'epscode', 1,
-sub
-#line 206 "YappParse.yp"
-{ $_[1] }
- ],
- [#Rule 44
- 'code', 1,
-sub
-#line 209 "YappParse.yp"
-{ $_[1] }
- ],
- [#Rule 45
- 'tail', 0, undef
- ],
- [#Rule 46
- 'tail', 1,
-sub
-#line 215 "YappParse.yp"
-{ $tail=$_[1] }
- ]
-],
- @_);
- bless($self,$class);
-}
-
-#line 218 "YappParse.yp"
-
-sub _Error {
- my($value)=$_[0]->YYCurval;
-
- my($what)= $token ? "input: '$$value[0]'" : "end of input";
-
- _SyntaxError(1,"Unexpected $what",$$value[1]);
-}
-
-sub _Lexer {
-
- #At EOF
- pos($$input) >= length($$input)
- and return('',[ undef, -1 ]);
-
- #In TAIL section
- $lexlevel > 1
- and do {
- my($pos)=pos($$input);
-
- $lineno[0]=$lineno[1];
- $lineno[1]=-1;
- pos($$input)=length($$input);
- return('TAILCODE',[ substr($$input,$pos), $lineno[0] ]);
- };
-
- #Skip blanks
- $lexlevel == 0
- ? $$input=~m{\G((?:
- [\t\ ]+ # Any white space char but \n
- | \#[^\n]* # Perl like comments
- | /\*.*?\*/ # C like comments
- )+)}xsgc
- : $$input=~m{\G((?:
- \s+ # any white space char
- | \#[^\n]* # Perl like comments
- | /\*.*?\*/ # C like comments
- )+)}xsgc
- and do {
- my($blanks)=$1;
-
- #Maybe At EOF
- pos($$input) >= length($$input)
- and return('',[ undef, -1 ]);
-
- $lineno[1]+= $blanks=~tr/\n//;
- };
-
- $lineno[0]=$lineno[1];
-
- $$input=~/\G([A-Za-z_][A-Za-z0-9_]*)/gc
- and return('IDENT',[ $1, $lineno[0] ]);
-
- $$input=~/\G('(?:[^'\\]|\\\\|\\'|\\)+?')/gc
- and do {
- $1 eq "'error'"
- and do {
- _SyntaxError(0,"Literal 'error' ".
- "will be treated as error token",$lineno[0]);
- return('IDENT',[ 'error', $lineno[0] ]);
- };
- return('LITERAL',[ $1, $lineno[0] ]);
- };
-
- $$input=~/\G(%%)/gc
- and do {
- ++$lexlevel;
- return($1, [ $1, $lineno[0] ]);
- };
-
- $$input=~/\G{/gc
- and do {
- my($level,$from,$code);
-
- $from=pos($$input);
-
- $level=1;
- while($$input=~/([{}])/gc) {
- substr($$input,pos($$input)-1,1) eq '\\' #Quoted
- and next;
- $level += ($1 eq '{' ? 1 : -1)
- or last;
- }
- $level
- and _SyntaxError(2,"Unmatched { opened line $lineno[0]",-1);
- $code = substr($$input,$from,pos($$input)-$from-1);
- $lineno[1]+= $code=~tr/\n//;
- return('CODE',[ $code, $lineno[0] ]);
- };
-
- if($lexlevel == 0) {# In head section
- $$input=~/\G%(left|right|nonassoc)/gc
- and return('ASSOC',[ uc($1), $lineno[0] ]);
- $$input=~/\G%(start)/gc
- and return('START',[ undef, $lineno[0] ]);
- $$input=~/\G%(expect)/gc
- and return('EXPECT',[ undef, $lineno[0] ]);
- $$input=~/\G%{/gc
- and do {
- my($code);
-
- $$input=~/\G(.*?)%}/sgc
- or _SyntaxError(2,"Unmatched %{ opened line $lineno[0]",-1);
-
- $code=$1;
- $lineno[1]+= $code=~tr/\n//;
- return('HEADCODE',[ $code, $lineno[0] ]);
- };
- $$input=~/\G%(token)/gc
- and return('TOKEN',[ undef, $lineno[0] ]);
- $$input=~/\G%(type)/gc
- and return('TYPE',[ undef, $lineno[0] ]);
- $$input=~/\G%(union)/gc
- and return('UNION',[ undef, $lineno[0] ]);
- $$input=~/\G([0-9]+)/gc
- and return('NUMBER',[ $1, $lineno[0] ]);
-
- }
- else {# In rule section
- $$input=~/\G%(prec)/gc
- and return('PREC',[ undef, $lineno[0] ]);
- }
-
- #Always return something
- $$input=~/\G(.)/sg
- or die "Parse::Yapp::Grammar::Parse: Match (.) failed: report as a BUG";
-
- $1 eq "\n"
- and ++$lineno[1];
-
- ( $1 ,[ $1, $lineno[0] ]);
-
-}
-
-sub _SyntaxError {
- my($level,$message,$lineno)=@_;
-
- $message= "*".
- [ 'Warning', 'Error', 'Fatal' ]->[$level].
- "* $message, at ".
- ($lineno < 0 ? "eof" : "line $lineno").
- ".\n";
-
- $level > 1
- and die $message;
-
- warn $message;
-
- $level > 0
- and ++$nberr;
-
- $nberr == 20
- and die "*Fatal* Too many errors detected.\n"
-}
-
-sub _AddRules {
- my($lhs,$lineno)=@{$_[0]};
- my($rhss)=$_[1];
-
- ref($$nterm{$lhs})
- and do {
- _SyntaxError(1,"Non-terminal $lhs redefined: ".
- "Previously declared line $$syms{$lhs}",$lineno);
- return;
- };
-
- ref($$term{$lhs})
- and do {
- my($where) = exists($$token{$lhs}) ? $$token{$lhs} : $$syms{$lhs};
- _SyntaxError(1,"Non-terminal $lhs previously ".
- "declared as token line $where",$lineno);
- return;
- };
-
- ref($$nterm{$lhs}) #declared through %type
- or do {
- $$syms{$lhs}=$lineno; #Say it's declared here
- delete($$term{$lhs}); #No more a terminal
- };
- $$nterm{$lhs}=[]; #It's a non-terminal now
-
- my($epsrules)=0; #To issue a warning if more than one epsilon rule
-
- for my $rhs (@$rhss) {
- my($tmprule)=[ $lhs, [ ], splice(@$rhs,-2) ]; #Init rule
-
- @$rhs
- or do {
- ++$$nullable{$lhs};
- ++$epsrules;
- };
-
- for (0..$#$rhs) {
- my($what,$value)=@{$$rhs[$_]};
-
- $what eq 'CODE'
- and do {
- my($name)='@'.++$labelno."-$_";
- push(@$rules,[ $name, [], undef, $value ]);
- push(@{$$tmprule[1]},$name);
- next;
- };
- push(@{$$tmprule[1]},$$value[0]);
- }
- push(@$rules,$tmprule);
- push(@{$$nterm{$lhs}},$#$rules);
- }
-
- $epsrules > 1
- and _SyntaxError(0,"More than one empty rule for symbol $lhs",$lineno);
-}
-
-sub Parse {
- my($self)=shift;
-
- @_ > 0
- or croak("No input grammar\n");
-
- my($parsed)={};
-
- $input=\$_[0];
-
- $lexlevel=0;
- @lineno=(1,1);
- $nberr=0;
- $prec=0;
- $labelno=0;
-
- $head=();
- $tail="";
-
- $syms={};
- $token={};
- $term={};
- $nterm={};
- $rules=[ undef ]; #reserve slot 0 for start rule
- $precterm={};
-
- $start="";
- $nullable={};
- $expect=0;
-
- pos($$input)=0;
-
-
- $self->YYParse(yylex => \&_Lexer, yyerror => \&_Error);
-
- $nberr
- and _SyntaxError(2,"Errors detected: No output",-1);
-
- @$parsed{ 'HEAD', 'TAIL', 'RULES', 'NTERM', 'TERM',
- 'NULL', 'PREC', 'SYMS', 'START', 'EXPECT' }
- = ( $head, $tail, $rules, $nterm, $term,
- $nullable, $precterm, $syms, $start, $expect);
-
- undef($input);
- undef($lexlevel);
- undef(@lineno);
- undef($nberr);
- undef($prec);
- undef($labelno);
-
- undef($head);
- undef($tail);
-
- undef($syms);
- undef($token);
- undef($term);
- undef($nterm);
- undef($rules);
- undef($precterm);
-
- undef($start);
- undef($nullable);
- undef($expect);
-
- $parsed
-}
-
-
-1;