混淆Lex中经常使用的模式

时间:2014-06-04 19:09:23

标签: parsing lex lexical-analysis

我有一个正则表达式,用于多个规则。我可以为它定义别名,将此正则表达式定义保留在一个位置并在代码中使用它吗? 例如:

[A-Za-z0-9].[A-Za-z0-9_-]* (expression) NAME (alias)
...
%%
NAME[=]NAME {
  //Do something.
}
%%

1 个答案:

答案 0 :(得分:0)

它位于你的lex输入文件的definitions部分(%%之前),你可以通过将名称放在花括号({…})中来在正则表达式中使用它。例如:

name        [A-Za-z0-9][A-Za-z0-9_-]*

%%

{name}[=]{name}  { /* Do something */ }