从词法分析的角度分析一个C表达式

Analyze a C expression from a lexical analysis perspective

所以我正在编写一个词法分析器程序(在 PHP 中)作为家庭作业,我必须标记一个 C 程序。

我有下面这段来自 C 代码的代码,我必须分析: +e25.f12.e-- 然后将标记化为 OPERATOR => +VARIABLE => e25 但会跳过 .f12.e--,因为它会将其标记为错误。现在我不确定这是否是正确的行为,算法是否正常工作或者它也应该标记化(如果应该,你能展示 .f12.e-- 的标记化吗?)。

例如,以下代码应按如下方式标记:

代码:

xe,12.34e-25" ;;kjk 'a'"'"'/*  dfh sfg fsg 
   sdgf sdf






 sdfvvs  svd sdv
 *//*3rf 3rfg 3f



 e2f2efef*//*/*/*/

标记化:

var => xe
operator => ,
constant => 12.34e-25
string => " ;;kjk 'a'"
string => '"'
operator => *
operator => /

谢谢。

+e25.f12.e

标记为:

+ operator
e25 identifier
. operator
f12 identifier
. operator
e identifier