Perl语言高级编程专题04.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Perl语言高级编程专题04.pdf》由会员分享,可在线阅读,更多相关《Perl语言高级编程专题04.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1Perl语言高级编程专题Lesson 4周晓方coursesxfzhou.homedns.org2Makefile and test codebase=calctarget=$(base).pm$(base)_lex.execc=cllex=flexyacc=byacc#all:targetall:$(target)$(base)_lex.exe:$(base)_lex.c$(base).tab.h$(cc)$(base)_lex.c$(base)_lex.c:$(base).l$(lex)-o$(base).l$(base).tab.h:$(base).y$(yacc)-d-c-b$(ba
2、se)$(base).ydel$(base).tab.c$(base).pm:$(base).y$(yacc)-v-b$(base)-P$(base)$(base).y#clean:del$(base)_lex.objdel$(base).tab.hdel$(target)del$(base).outputdel$(base)_lex.cx=1;y=0;while(xnmakebyacc -v-b calc-P calc calc.yflex -ocalc_lex.c calc.lbyacc-d-c-b calc calc.ydel calc.tab.ccl calc_lex.ccalc_le
3、x.c/out:calc_lex.execalc_lex.objD:perl calc.pl _3Convert to Pascal-part I#interruptingmy(%sym)=();prog_ev($presult);#compile to pascal(must call prog_ev first to initialize%sym)prog_to_pascal($presult,%sym,a.pas);1;sub pascal_var_convert my($symbol)=shift;my(%symbols)=%$symbol;my(key)=keys%symbols;m
4、y($count)=1;my($var);foreach$var(key)$symbols$var=sprintf(v%02d_,$count).$var;$count+;return%symbols;修改calc.pl,增加转换成pascal的代码 pascal是大小写无关的语言,要替换变量名4Convert to Pascal-part IIsub prog_to_pascal my($prog,$symbols,$pascalname)=_;my($OLD,$symbol,%symbols);%symbols=pascal_var_convert($symbols);print Conv
5、erting to pascal$pascalnamen;open(PAS,$pascalname)or warn Cant open$pascalname for write.n;$OLD=select(PAS);print 0;#ont of P W V I iif($stype eq P)$result.=$indent.writeln(.pascal_expr($statement-1,$symbols).);n;elsif($stype eq W)$result.=$indent.while(.pascal_expr($statement-1,$symbols).)do beginn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Perl 语言 高级 编程 专题 04
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内