Flex-lexer:将状态定义写入不同的文件
Flex-lexer: Write state defines to a different file
我想在函数(和外部文件)中使用 flex 的启动状态。因此,我需要将状态定义放在外部头文件中。
有什么方法可以将定义写入外部文件吗?
下面的代码显示了在 l 文件中定义的函数中使用状态的示例
lexer.l
%{
void changeState(){
YY_START = MY_STATE;
}
%}
%x MY_STATE
%%
[ rules ]
%%
以下应该有效:
lexer.l
%x MY_STATE
%%
[ rules ]
%%
void changeState(){
BEGIN(MY_STATE);
}
不要忘记,上面的部分实际上只是用于声明。定义应该放在最后一部分。这样,它们就位于 #define
部分之后
我想在函数(和外部文件)中使用 flex 的启动状态。因此,我需要将状态定义放在外部头文件中。
有什么方法可以将定义写入外部文件吗?
下面的代码显示了在 l 文件中定义的函数中使用状态的示例
lexer.l
%{
void changeState(){
YY_START = MY_STATE;
}
%}
%x MY_STATE
%%
[ rules ]
%%
以下应该有效:
lexer.l
%x MY_STATE
%%
[ rules ]
%%
void changeState(){
BEGIN(MY_STATE);
}
不要忘记,上面的部分实际上只是用于声明。定义应该放在最后一部分。这样,它们就位于 #define
部分之后