通过java实现词法分析器。 解压: 1) src文件夹:实现代码 2)data文件夹:测试代码 3)README:说明文档
2019-12-21 19:23:26 41KB java
1
本文为转载资源,希望大家积极下载指正。
2019-12-21 19:22:23 24KB snl 词法分析 语法分析
1
NFA,DFA实验,词法分析,语法分析
2019-12-21 19:22:10 479KB 编译原理实验报告加代码
1
一个很简单的c语言词法分析器,适合刚学编译原理的同学阅读
2019-12-21 19:21:34 4KB c语言 词法分析
1
设计思想 (1)程序主体结构部分: 说明部分 %% 规则部分 %% 辅助程序部分 (2)主体结构的说明 在这里说明部分告诉我们使用的LETTER,DIGIT, IDENT(标识符,通常定义为字母开头的字母数字串)和STR(字符串常量,通常定义为双引号括起来的一串字符)是什么意思.这部分也可以包含一些初始化代码.例如用#include来使用标准的头文件和前向说明(forward ,references).这些代码应该再标记"%{"和"%}"之间;规则部分>可以包括任何你想用来分析的代码;我们这里包括了忽略所有注释中字符的功能,传送ID名称和字符串常量内容到主调函数和main函数的功能. (3)实现原理 程序中先判断这个句语句中每个单元为关键字、常数、运算符、界符,对与不同的单词符号给出不同编码形式的编码,用以区分之。 PL/0语言的EBNF表示 ::==; ::=={|}; ::=+|- ::=*|/ ::==|#|<||>= ::=a|b|…|X|Y|Z ::=0|1|2|…|8|9 三:设计过程 1. 关键字:void,main,if,then,break,int,Char,float,include,for,while,printfscanf 并为小写。 2."+”;”-”;”*”;”/”;”:=“;”:”;”<“;”“;”>=“;”“;”=“;”(“;”)”;”;”;”#”为运算符。 3. 其他标记 如字符串,表示以字母开头的标识符。 4. 空格符跳过。 5. 各符号对应种别码 关键字分别对应1-13 运算符分别对应401-418,501-513。 字符串对应100 常量对应200 结束符# 四:举例说明 目标:实现对常量的判别 代码: digit [0-9] letter [A-Za-z] other_char [!-@\[-~] id ({letter}|[_])({letter}|{digit}|[_])* string {({letter}|{digit}|{other_char})+} int_num {digit}+ %% [ |\t|\n]+ "auto"|"double"|"int"|"struct"|"break"|"else"|"long"|"switch"|"case"|"enum"|"register"|"typedef"|"char"|"extern"|"return"|"union"|"const"|"float"|"short"|"unsigned"|"continue"|"for"|"signed"|"void"|"default"|"goto"|"sizeof"|"do"|"if"|"static"|"while"|"main" {Upper(yytext,yyleng);printf("%s,NULL\n",yytext);} \"([!-~])*\" {printf("CONST_string,%s\n",yytext);} -?{int_num}[.]{int_num}?([E][+|-]?{int_num})? {printf("CONST_real,%s\n",yytext);} "0x"?{int_num} {printf("CONST_int,%s\n",yytext);} ","|";"|"("|")"|"{"|"}"|"["|"]"|"->"|"."|"!"|"~"|"++"|"--"|"*"|"&"|"sizeof"|"/"|"%"|"+"|"-"|">"|"="|">="|"<<="|"&="|"^="|"|="|"=" {printf("%s,NULL\n",yytext);} {id} {printf("ID,%s\n",yytext);} {digit}({letter})+ {printf("error1:%s\n",yytext);} %% #include Upper(char *s,int l) { int i; for(i=0;i
2019-12-21 18:52:27 105KB 词法分析器制作
1
非常基础的词法分析器,能够将各个单词分开,判断各个单词的类型,并输出相应的tokens和符号表。还存在一些BUG,希望大家不吝赐教。
2019-12-21 18:51:05 257KB 词法 分析器 token 符号表
1
我的编译原理课程设计,请大家多多指教!!!
2019-12-21 18:49:34 35KB PL0 词法 语法
1
利用C#实现的词法语法分析器,能解析运算表达式,有极强的参考价值
1
java编写的词法分析器模拟自动机的运行,但是此程序只是初级版本未实现报错功能,提供一种思想。附测试用例
2019-12-21 18:48:22 3KB java,词法分析,自动机
1
C#实现的词法分析器,VS2010版本,比较简单,很容易懂
2019-12-21 18:48:07 60KB C#词法分析器
1