|
@ -20,6 +20,8 @@ FILE* interface_g = NULL; |
|
|
%x LEX_STATE_EXPORT_SPLIT |
|
|
%x LEX_STATE_EXPORT_SPLIT |
|
|
%x LEX_STATE_EXPORT_SPLIT_FUNCTION |
|
|
%x LEX_STATE_EXPORT_SPLIT_FUNCTION |
|
|
%x LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY |
|
|
%x LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY |
|
|
|
|
|
%x LEX_STATE_EXPORT_OPTION |
|
|
|
|
|
%x LEX_STATE_EXPORT_OPTION_2 |
|
|
|
|
|
|
|
|
%% |
|
|
%% |
|
|
|
|
|
|
|
@ -28,6 +30,8 @@ FILE* interface_g = NULL; |
|
|
|
|
|
|
|
|
<INITIAL>"$export_common " BEGIN(LEX_STATE_EXPORT_COMMON); |
|
|
<INITIAL>"$export_common " BEGIN(LEX_STATE_EXPORT_COMMON); |
|
|
<INITIAL>"$$export_split " BEGIN(LEX_STATE_EXPORT_SPLIT); |
|
|
<INITIAL>"$$export_split " BEGIN(LEX_STATE_EXPORT_SPLIT); |
|
|
|
|
|
<INITIAL>"$$export_split" BEGIN(LEX_STATE_EXPORT_SPLIT); |
|
|
|
|
|
<INITIAL>"$export_option " printf("Exporting an option.\n"); BEGIN(LEX_STATE_EXPORT_OPTION); |
|
|
|
|
|
|
|
|
<LEX_STATE_EXPORT_COMMON>. p(code_common); p(interface_common); |
|
|
<LEX_STATE_EXPORT_COMMON>. p(code_common); p(interface_common); |
|
|
<LEX_STATE_EXPORT_COMMON>\n p(code_common); p(interface_common); BEGIN(INITIAL); |
|
|
<LEX_STATE_EXPORT_COMMON>\n p(code_common); p(interface_common); BEGIN(INITIAL); |
|
@ -35,7 +39,7 @@ FILE* interface_g = NULL; |
|
|
<LEX_STATE_EXPORT_SPLIT>"function" p(code_g); p(code_w); p(interface_g); p(interface_w); BEGIN(LEX_STATE_EXPORT_SPLIT_FUNCTION); |
|
|
<LEX_STATE_EXPORT_SPLIT>"function" p(code_g); p(code_w); p(interface_g); p(interface_w); BEGIN(LEX_STATE_EXPORT_SPLIT_FUNCTION); |
|
|
<LEX_STATE_EXPORT_SPLIT>"@" ps(code_g,"g"); ps(code_w,"w"); ps(interface_g,"g"); ps(interface_w,"w"); |
|
|
<LEX_STATE_EXPORT_SPLIT>"@" ps(code_g,"g"); ps(code_w,"w"); ps(interface_g,"g"); ps(interface_w,"w"); |
|
|
<LEX_STATE_EXPORT_SPLIT>"$$" BEGIN(INITIAL); |
|
|
<LEX_STATE_EXPORT_SPLIT>"$$" BEGIN(INITIAL); |
|
|
<LEX_STATE_EXPORT_SPLIT>. p(code_g); p(code_w); p(interface_g); p(interface_w); |
|
|
<LEX_STATE_EXPORT_SPLIT>(.|\n) p(code_g); p(code_w); p(interface_g); p(interface_w); |
|
|
|
|
|
|
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION>"{" p(code_g); p(code_w); ps(interface_g, "{return 0;}"); ps(interface_w, "{return 0;}"); BEGIN(LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY); |
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION>"{" p(code_g); p(code_w); ps(interface_g, "{return 0;}"); ps(interface_w, "{return 0;}"); BEGIN(LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY); |
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION>"@" ps(code_g,"g"); ps(code_w,"w"); ps(interface_g,"g"); ps(interface_w,"w"); |
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION>"@" ps(code_g,"g"); ps(code_w,"w"); ps(interface_g,"g"); ps(interface_w,"w"); |
|
@ -44,6 +48,11 @@ FILE* interface_g = NULL; |
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY>"$$" BEGIN(INITIAL); |
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY>"$$" BEGIN(INITIAL); |
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY>(.|\n) p(code_g); p(code_w); |
|
|
<LEX_STATE_EXPORT_SPLIT_FUNCTION_BODY>(.|\n) p(code_g); p(code_w); |
|
|
|
|
|
|
|
|
|
|
|
<LEX_STATE_EXPORT_OPTION>"$" BEGIN(LEX_STATE_EXPORT_OPTION_2); |
|
|
|
|
|
<LEX_STATE_EXPORT_OPTION>(.|\n) p(code_g); p(interface_g); |
|
|
|
|
|
<LEX_STATE_EXPORT_OPTION_2>"$" BEGIN(INITIAL); |
|
|
|
|
|
<LEX_STATE_EXPORT_OPTION_2>(.|\n) p(code_w); p(interface_w); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% |
|
|
%% |
|
|
|
|
|
|
|
|