欢迎来到天天文库
浏览记录
ID:27586117
大小:59.55 KB
页数:10页
时间:2018-12-04
《javacc语法分析(whileifelsefor互相嵌套)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、/林*JavaCCfileoptions{JDK_VERSION="1.5n;DEBUG_PARSER=true;//}PARSER_BEGIN(whileParse)packagewhilepa;importjava.io.FilelnputStream;importjava.io.FileNotFoundException;publicclasswhileParse{publicstaticvoidmain(Stringargs[])throwsParseException{//whileParseparser=newwhileParse(System.
2、in);FilelnputStreamfileStream;try{fileStream=newFileInputStream(ntest.cn);whileParseparser=newwhileParse(fileStream);System.out.println(nReadingfromstandardinput".’’);System.out.print(’,Entercprogrameonlymain()withonlywhile();’’:System.out.print(neg.voidmian(){while(3<5)};:n);tr
3、y{switch(parser.start()){case0:System.out.println(nOK.");break;case1:System.out.println(’’Goodbye.’’);break;default:break;}}catch(Exceptione){System.out.println(’’NOK.’’);System.out.println(e.getMessage());parser.Relnit(System.in);}catch(Errore){System.out.println(’’Oops.’’);System
4、.out.println(e.getMessage());}catch(FileNotFoundExceptionel){//TODOAuto-generatedcatchblockel.printstackTrace();}}}PARSER_END(whileParse)SKIP:
5、nrTOKEN:/*OPERATORS*/{
6、〈MINUS:”〉
7、
8、
9、10、<#DIGIT:「0"-n9"]>}TOKEN:〈MAI11、N:'’main"〉〈VOID:nvoid’’〉〈WHILE:’’while’’〉〈ASSIGN,:”〉〈ELSE:"else”〉(12、13、〈LETTER:[n」’,na”z",nA”Zn]〉}TOKEN:{14、〈LOWER:n<’’〉15、16、17、18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
10、<#DIGIT:「0"-n9"]>}TOKEN:〈MAI
11、N:'’main"〉〈VOID:nvoid’’〉〈WHILE:’’while’’〉〈ASSIGN,:”〉〈ELSE:"else”〉(12、13、〈LETTER:[n」’,na”z",nA”Zn]〉}TOKEN:{14、〈LOWER:n<’’〉15、16、17、18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
12、13、〈LETTER:[n」’,na”z",nA”Zn]〉}TOKEN:{14、〈LOWER:n<’’〉15、16、17、18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
13、〈LETTER:[n」’,na”z",nA”Zn]〉}TOKEN:{14、〈LOWER:n<’’〉15、16、17、18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
14、〈LOWER:n<’’〉
15、16、17、18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
16、17、18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
17、18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
18、19、20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
19、
20、21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()22、IfElse()23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()24、as25、sign()26、IfElse()27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
21、〉}intstart():{}{Procedure(){return0;}I’’;"{return1;}}/*处理主程序*/voidProcedure():{}〈VOID〉〈MAIN〉Mix()}voidMix():{}{(WhileStatement()
22、IfElse()
23、ForStatement())*}//while开头的if...else...、for之间的互相嵌套voidWhileStatement():{}Condition()(WhileStatement()
24、as
25、sign()
26、IfElse()
27、ForStatement())*}//if...else...开头的while、for之间的互相嵌套voidIfElse():{}28、WhileStatement()29、ForStatement())*((assign())30、IfElse()31、WhileStatement()32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}33、{
28、WhileStatement()
29、ForStatement())*((assign())
30、IfElse()
31、WhileStatement()
32、ForStatement())*}//for开头的while、if...else...之间的互相嵌套voidForStatement():{}
33、{
此文档下载收益归作者所有