语法高亮如何分辨变量类型


#1

Hi, all
我正在开发一款语法高亮插件,遇到这样的问题:

在这个语言中, aaaa.next 可以有两种解释:

  1. aaaa 是枚举量 enum {....} aaaa; 时,next 是一个方法;
  2. aaaa 是结构体变量 struct {...} aaaa; 时,next 是一个结构体成员变量(它不是一个关键字,所以用来给结构体成员变量起名字是合法的)。

我希望这两种情况下,next 能够被显示成不同的颜色,即在语法脚本中能够通过正则或者其它方法将它们区别开。请问有什么合适的做法?

谢谢,
zhutmost