单优先分析法实现算术表达式语法分析器

问题描述

给定一个上下文无关文法 $G[E]$:

E → E + T | E - T | TT → T * F | T / F | FF → P ^ F | PP → (E) | i

其中 i 表示变量或无符号常量。

判断一个输入的算术表达式是否符合该文法,如果是,输出 syntax correct;否则,输出 syntax error

解题思路

根据给定的文法,首先求出所有产生式的 FIRST 集和 FOLLOW 集:

FIRST(E) = {i, (}FIRST(T) = {i, (}FIRST(F) = {i, (}FIRST(P) = {i, (}FIRST(i) = {i}FIRST(( = {(}FOLLOW(E) = {#, +, -}FOLLOW(T) = {#, +, -, *, /}FOLLOW(F) = {#, +, -, *, /, ^}FOLLOW(P) = {#, +, -, *, /,

单优先分析法实现算术表达式语法分析器

原文地址: https://www.cveoy.top/t/topic/ncBg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录