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

从词法分析的角度分析C表达式,c,token,tokenize,lexical-analysis,C,Token,Tokenize,Lexical Analysis,因此,我正在编写一个词法分析器程序(在PHP中)作为家庭作业,我必须标记一个C程序 我必须分析C代码中的以下代码: +e25.f12.e--然后将其标记为运算符=>+,变量=>e25,但跳过.f12.e--,因为它会将其作为错误发出信号。现在我不确定这是否是正确的行为,算法是否正常工作,或者它是否也应该标记化(如果应该,请您显示.f12.e--?)的标记化 例如,以下代码应标记如下: 代码: 标记化: var => xe operator => , constant => 12

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

我必须分析
C
代码中的以下代码:
+e25.f12.e--
然后将其标记为
运算符=>+
变量=>e25
,但跳过
.f12.e--
,因为它会将其作为错误发出信号。现在我不确定这是否是正确的行为,算法是否正常工作,或者它是否也应该标记化(如果应该,请您显示
.f12.e--
?)的标记化

例如,以下代码应标记如下:

代码:

标记化:

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
标记为:

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

我明白了,我也有同样的想法,但不确定
,在
C
是什么类型的运算符?它是结构成员运算符。在开始这个项目之前,你应该有一个完整的操作符和特殊字符列表。我明白了,谢谢@EJP是的,我到处都搜索过,找不到。我明白了,我也这么想,但不确定
,在
C
是什么类型的运算符?它是结构成员运算符。在开始这个项目之前,你应该有一个完整的操作符和特殊字符列表。我明白了,谢谢@EJP是的,我到处都找了,找不到。