Compiler/AST interpreter: Difference between revisions
Content added Content deleted
Line 1,384: | Line 1,384: | ||
my $line = <> // die "incomplete tree\n"; |
my $line = <> // die "incomplete tree\n"; |
||
(local $_, my $arg) = $line =~ /^(\w+|;)\s+(.*)/ or die "bad input $line"; |
(local $_, my $arg) = $line =~ /^(\w+|;)\s+(.*)/ or die "bad input $line"; |
||
/String/ ? bless [$arg =~ tr/ |
/String/ ? bless [$arg =~ tr/""//dr =~ s/\\(.)/$1 eq 'n' ? "\n" : $1/ger], $_ : |
||
/Identifier|Integer/ ? bless [ $arg ], $_ : |
/Identifier|Integer/ ? bless [ $arg ], $_ : |
||
/;/ ? bless [], 'Null' : |
/;/ ? bless [], 'Null' : |