【编译原理(实验)】语法分析器(Java实现,带UI界面)

实现方法

改语法分析器附带词法分析器

通过将词法分析的单词压入语法分析栈中,采用 LL(1) 型文法进行分析;

实现功能

能够识别简单语法,包括:

1.变量声明;
2.变量赋值;
3.变量的运算;
4.if,for,while等循环或条件语句;
5.自动过滤注释语句。

文法语言

<程序> → <语句><程序> | Ɛ;
<语句> → <变量定义语句> | <赋值语句> | <函数调用语句> | <if语句>| <循环语句> | Ɛ
<变量定义语句> → <变量类型><标识符表>;
<赋值语句> → <标识符> = <表达式>;
<函数调用语句> → <标识符> ( <标识符表> );
<if语句> → if ( <条件表达式> ) { <语句> } <else语句>
<else语句> → else{ <语句> } | Ɛ
<循环语句> → while ( <条件表达式> ) { <语句> }
<标识符表> → <标识符>| <标识符表>,<标识符>
<条件表达式> → <表达式><比较运算符><表达式>
<比较运算符> → > | >= | < | <= | != | ==
<变量类型>→ char | short | int | long | float | double
<表达式> → +T | -T | T | <表达式> + T | <表达式>-T
T → F | T*F | T/F
F → <标识符> | <无符号整数> | (<表达式 >)

正确示例截图

在这里插入图片描述

错误示例截图

在这里插入图片描述

源码获取

源码和可运行的程序jar包均已打包,获取方式如下:

CSDN资源下载链接:
https://download.csdn.net/download/weixin_44155115/12284107

公众号获取:
关注微信公众号 “科技毒瘤君”,回复 “语法分析器
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章