⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spike.pl.svn-base

📁 这是一个DFA简化和生成LL(1)分析表的程序,自动生成表格及图形
💻 SVN-BASE
字号:
#: spike.pl#: 2006-05-25 2006-05-26use strict;use warnings;use Getopt::Std;use FindBin;use lib $FindBin::Bin;use spike_parser;use spike_emitter;my %opts;getopts('mn:', \%opts);my $infile = shift or    die "Usage: spike [-m] [-n <package-name>] <grammar-file>.\n";my $filetype;if ($opts{m}) {    $filetype = 'pm';} else {    $filetype= 'pl';}my $package = $opts{n} || 'Parser';open my $in, $infile or    die "Can't open $infile for reading: $!\n";my $src;{ local $/; $src = <$in>; }close $in;my $parser = Spike::Parser->new;my $ast = $parser->parse($src);defined $ast or die "Bad grammar!\n";my $code = Spike::Emitter->emit($ast, $filetype, $package);defined $code or die "Can't emit parser!\n";my $outfile = $infile;if ($outfile !~ s/\.grammar$/.$filetype/) {    $outfile .= ".$filetype";}open my $out, "> $outfile" or    die "Can't open $outfile for writing: $!\n";print $out $code;close $out;print "$outfile generated.\n";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -