实现方法
改语法分析器附带词法分析器;
通过将词法分析的单词压入语法分析栈中,采用 LL(1) 型文法进行分析;
实现功能
能够识别简单语法,包括:
1.变量声明;2.变量赋值;3.变量的运算;4.if,for,while等循环或条件语句;5.自动过滤注释语句。
文法语言
<程序> → <语句><程序> | Ɛ; <语句> → <变量定义语句> | <赋值语句> | <函数调用语句> || <循环语句> | Ɛ <变量定义语句> → <变量类型><标识符表>; <赋值语句> → <标识符> = <表达式>; <函数调用语句> → <标识符> ( <标识符表> );→ if ( <条件表达式> ) { <语句> }→ 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
公众号获取:关注 “科技毒瘤君”,回复 “语法分析器”
发表评论