问题描述
我正在阅读GLSL language grammar,其中包含以下部分:
语法来自词法分析的输出。词法分析返回的标记是 ... LEFT_OP RIGHT_OP INC_OP DEC_OP LE_OP GE_OP EQ_OP NE_OP
语言规范的其余部分没有提及这些标记,至少没有同名。我的猜测是LEFT_OP是<<
,而INC_OP
是+=
,但我不知道如何验证。同样,如果INC_OP
是+=
,则不清楚NE_OP
是否是!=
,因为一个是分配的,另一个不是。
解决方法
没有通用的令牌名称注册机构,因此在这种情况下,您最好的办法就是使用自己的直觉。
INC_OP和DEC_OP必须分别为++
和--
,因为+=
和-=
是ADD_ASSIGN和SUB_ASSIGN。 (所有赋值运算符似乎都是X_ASSIGN的形式。)
规范中不指定令牌拼写肯定是粗心的。