我想用伪代码编写一个程序,该程序将识别C/C++源文件中“#”或“%”的不正确使用。
听起来很简单,但是我不确定如何在“伪代码”中编写/描述该符号出现的位置,例如是否在变量名之前/之后。
我应该使用类似的东西:
If "#" after var_a
then "Error!"
elseif before ";"
.... and so on
还是应该在“符号”之后使用#_ASCII_code is _...之类的东西。
我真的不知道如何用伪代码描述这些特殊情况。
我不得不提到,我在互联网上读到了有关伪代码的信息。(我已经使用过搜索按钮)
先感谢您。
最佳答案
您的方法无效,因为它是too simple。解决方案是一个称为“parsing”的多步骤过程,直到最终得到AST为止:
b = a ++
-> ID ASSIGN ID INCREMENT
)。 现在,该树允许您编写伪代码:
For all AST nodes with the text representation "#"
if the previous sibling is a variable
...
else if the next sibling is ";"
...