A 有一个用 yacc 编写的简单语法,它从逻辑表达式构建一棵树,由子表达式和 AND (&&)、OR (||) 和 NOT (!) 运算符组成。这里就不提供语法本身了,因为它没有什么特别之处,它类似于无数的 YACC 教程示例。
但是,我需要解析这些逻辑表达式,以便根据德摩根定律为 NOT 运算符扩展所有括号。例如,我需要处理表达式
!( ( A && B ) || C ) )
作为
( !A || !B ) && !C
是否可以通过修改现有的 yacc 语法来实现这一点?