下载资源后端资源详情
c---parser.zip
大小:955.89KB
价格:27积分
下载量:0
评分:
5.0
上传者:qq_42775458
更新日期:2024-08-12

编译原理词法分析、语法分析程序

资源文件列表(大概)

文件名
大小
c---parser-main/
-
c---parser-main/README.md
2.97KB
c---parser-main/source_code/
-
c---parser-main/source_code/.idea/
-
c---parser-main/source_code/.idea/misc.xml
278B
c---parser-main/source_code/.idea/modules.xml
255B
c---parser-main/source_code/.idea/uiDesigner.xml
8.71KB
c---parser-main/source_code/.idea/workspace.xml
17.63KB
c---parser-main/source_code/SDT.txt
2.34KB
c---parser-main/source_code/cfg.txt
1.76KB
c---parser-main/source_code/cmpr.iml
433B
c---parser-main/source_code/out/
-
c---parser-main/source_code/out/production/
-
c---parser-main/source_code/out/production/cmpr/
-
c---parser-main/source_code/out/production/cmpr/META-INF/
-
c---parser-main/source_code/out/production/cmpr/META-INF/cmpr.kotlin_module
16B
c---parser-main/source_code/out/production/cmpr/zhou/
-
c---parser-main/source_code/out/production/cmpr/zhou/AppMain$OnStart.class
4.11KB
c---parser-main/source_code/out/production/cmpr/zhou/AppMain.class
4.81KB
c---parser-main/source_code/out/production/cmpr/zhou/cfg/
-
c---parser-main/source_code/out/production/cmpr/zhou/cfg/BaseSymbol.class
843B
c---parser-main/source_code/out/production/cmpr/zhou/cfg/LL1Runner.class
10.48KB
c---parser-main/source_code/out/production/cmpr/zhou/cfg/ProductionItem.class
521B
c---parser-main/source_code/out/production/cmpr/zhou/lex/
-
c---parser-main/source_code/out/production/cmpr/zhou/lex/Lexer.class
10.77KB
c---parser-main/source_code/out/production/cmpr/zhou/lex/Token.class
1.17KB
c---parser-main/source_code/out/production/cmpr/zhou/lex/TokenError.class
738B
c---parser-main/source_code/out/production/cmpr/zhou/parser/
-
c---parser-main/source_code/out/production/cmpr/zhou/parser/Descent.class
28.06KB
c---parser-main/source_code/out/production/cmpr/zhou/parser/ParseExpression.class
298B
c---parser-main/source_code/out/production/cmpr/zhou/parser/ProcessInfo.class
548B
c---parser-main/source_code/out/production/cmpr/zhou/parser/Symbol.class
384B
c---parser-main/source_code/out/production/cmpr/zhou/parser/SymbolTable.class
845B
c---parser-main/source_code/out/production/cmpr/zhou/view/
-
c---parser-main/source_code/out/production/cmpr/zhou/view/FrameCode.class
2.18KB
c---parser-main/source_code/out/production/cmpr/zhou/view/FrameError.class
1.49KB
c---parser-main/source_code/out/production/cmpr/zhou/view/FrameLexerResult.class
2.55KB
c---parser-main/source_code/out/production/cmpr/zhou/view/FrameProcessOfDeduce.class
1.52KB
c---parser-main/source_code/out/production/cmpr/zhou/view/FrameSelect.class
2.84KB
c---parser-main/source_code/src/
-
c---parser-main/source_code/src/zhou/
-
c---parser-main/source_code/src/zhou/AppMain.java
5.76KB
c---parser-main/source_code/src/zhou/cfg/
-
c---parser-main/source_code/src/zhou/cfg/BaseSymbol.java
701B
c---parser-main/source_code/src/zhou/cfg/LL1Runner.java
13.47KB
c---parser-main/source_code/src/zhou/cfg/ProductionItem.java
360B
c---parser-main/source_code/src/zhou/lex/
-
c---parser-main/source_code/src/zhou/lex/Lexer.java
19.05KB
c---parser-main/source_code/src/zhou/lex/Token.java
1.37KB
c---parser-main/source_code/src/zhou/lex/TokenError.java
318B
c---parser-main/source_code/src/zhou/parser/
-
c---parser-main/source_code/src/zhou/parser/Descent.java
46.99KB
c---parser-main/source_code/src/zhou/parser/ParseExpression.java
99B
c---parser-main/source_code/src/zhou/parser/ProcessInfo.java
477B
c---parser-main/source_code/src/zhou/parser/Symbol.java
299B
c---parser-main/source_code/src/zhou/parser/SymbolTable.java
608B
c---parser-main/source_code/src/zhou/view/
-
c---parser-main/source_code/src/zhou/view/FrameCode.java
1.07KB
c---parser-main/source_code/src/zhou/view/FrameError.java
980B
c---parser-main/source_code/src/zhou/view/FrameLexerResult.java
1.3KB
c---parser-main/source_code/src/zhou/view/FrameProcessOfDeduce.java
996B
c---parser-main/source_code/src/zhou/view/FrameSelect.java
1.81KB
c---parser-main/source_code/test_code.txt
331B
c---parser-main/~$分析的算法思想设计方案.docx
162B
c---parser-main/中间代码.png
214.28KB
c---parser-main/程序无误运行结果.png
214.28KB
c---parser-main/表达式类型错误测试结果.png
24.36KB
c---parser-main/语法分析的算法思想设计方案.docx
287.8KB
c---parser-main/语法制导翻译方案.txt
2.34KB
c---parser-main/重复定义_未定义测试结果.png
145.12KB
c---parser-main/非法语句测试结果.png
23.96KB
c---parser-main/非法调用函数测试结果.png
34.66KB

资源内容介绍

这个一个C--语言的语法分析器,包括词法分析、语法分析、语义处理等。zhou.cfg文法相关如解释文法、计算first、follow集合等zhou.lex词法分析相关zhou.parser>语法分析,同时进行语法制导翻译,按照老师要求,采用递归下降分析方法,Descent.java为分析器。zhou.view UI组件实现功能类型检测、重复定义或未定义、方法调用等 输入输出输入:c语言测试代码 、文法输出:词法分析结果、文法推导过程、中间代码或上述遇到的错误。
# c---parser这个一个C--语言的语法分析器,包括词法分析、语法分析、语义处理等。### 文法及其对应的语义动作(@开头的标识符为语义动作)``` javaprogram -> func funcsfuncs -> func funcs | εfunc -> type IDN ( args ) @MAKE_FUNC_TABLE func_bodytype -> int | short | long |char |float |double| voidargs -> type IDN @ARG_INFO @ARGS arg | εarg -> , type IDN @ARG_INFO arg | εfunc_body -> ; | blockblock -> { @FUNC_INIT @GEN_FUNC_PROCESS_LABEL define_stmts stmts }define_stmts -> define_stmt define_stmts | εdefine_stmt -> type IDN @CHECK_VAR_DEFINE @VAR_INIT init vars ;init -> = expression @CHECK_EXPR_TYPE @GEN_DEFINE_EXPR_CODE | εvars -> , IDN @CHECK_VAR_DEFINE init vars | εstmts -> stmt stmts | εstmt -> assign_stmt @GEN_EXPR_ASSIGN_CODE | jump_stmt | iteration_stmt | branch_stmtassign_stmt -> expression @VAR_INIT @CHECK_EXPR_TYPE ;jump_stmt -> continue ; | break ; | return innull_expr ;iteration_stmt -> while ( @LABEl_OUT_IN logical_expression ) @GEN_IF_CODE @GEN_TRUE_LABEL block_stmt @GEN_ENTER_CODE | for ( isnull_expr ; isnull_expr ; isnull_expr ) block_stmt | do block_stmt while ( logical_expression ) ;branch_stmt -> if (@LABEL_OUT_IN logical_expression ) @GEN_IF_CODE @GEN_TRUE_LABEL block_stmt @GEN_FALSE_LABEL result | switch ( IDN ) { case_stmt case_stmts default_stmt }result -> else block_stmt | εlogical_expression -> ! expression @REVERS_EQ_OPER @GEN_MID_EXPR @CHECK_BOOL_EXPR bool_expression | expression @GEN_MID_EXPR @CHECK_BOOL_EXPR bool_expressionbool_expression -> lop @GEN_LABEL_OR_CODE expression @GEN_MID_EXPR bool_expression | ε//下面的or 是 ||lop -> && | orcase_stmts -> case_stmt case_stmts | εcase_stmt -> case const : stmtsdefault_stmt -> default : stmtsblock_stmt -> { @MAKE_CHILD_TABLE stmts }expression -> value operationoperation -> compare_op value | equal_op value | εcompare_op -> > | >= | < | <= | == | != @EN_EXPRESSION_STACKequal_op -> = @CAL_LEFTID_INFO | += | -= | *= | /= | %=value -> item value'value' -> + item @GEN_EXPR_CODE value' | - item @GEN_EXPR_CODE value' | εitem -> factor item'item' -> * factor @GEN_EXPR_CODE item' | / factor @GEN_EXPR_CODE item' | % factor @GEN_EXPR_CODE item' | εfactor -> ( value ) | IDN @CHECK_UNDEFINE call_func | constcall_func -> ( es ) @GEN_CALL_FUNC | εes -> isnull_expr isnull_esisnull_expr -> expression | εisnull_es -> , isnull_expr isnull_eas | εconst -> num_const | FLOAT | CHAR | STRnum_const -> INT10 @NUM_CONST```### 项目结构zhou.cfg> 文法相关如解释文法、计算first、follow集合等zhou.lex> 词法分析相关zhou.parser> 语法分析,同时进行语法制导翻译,按照老师要求,采用递归下降分析方法,Descent.java为分析器。zhou.view> UI组件### 实现功能类型检测、重复定义或未定义、方法调用等### 输入输出输入:c语言测试代码 、文法输出:词法分析结果、文法推导过程、中间代码或上述遇到的错误。

用户评论 (0)

发表评论

captcha