http://qs321.pair.com?node_id=206251


in reply to Re:x2 Parsing CCL (Common Command Language) commands
in thread Parsing CCL (Common Command Language) commands

Thank you for alle the surgestions!

print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'
This REALLY says all about my relations to parsers! :-(

I've gone for the YAPP and taken the Calp.yp example and replaced the grammer with the CCL grammer (leaving out the "Set" statement for now). Compiled it using:

yapp -v myParser.yp
with one message:
1 shift/reduce conflict
Then I've written a test:
use MyParser; $parser=new MyParser(); $value=$parser->YYParse(yylex => \&lexer_sub, yyerror => \&error_sub +); $nberr=$parser->YYNberr(); $parser->YYData->{DATA}= [ 'a and ( b or c)' ]; $data=$parser->YYData->{DATA}[0];
All this gives is a:
Syntax error. Can't locate object method "new" via package "MyParser" (perhaps you f +orgot to l oad "MyParser"?) at myparser.pl line 2, <STDIN> line 1.
"If there are two or more ways to do something and one of them can lead to a disaster, then one or more persons will do it"
Edgar A. Murphy, Captain in U.S. Air Force (1949)