mirror of
https://github.com/sigmasternchen/libparcival
synced 2025-03-15 11:58:53 +00:00
added render token
This commit is contained in:
parent
77dab85b82
commit
8b2f83fa75
2 changed files with 6 additions and 1 deletions
|
@ -44,6 +44,7 @@ extern struct template result;
|
||||||
%token STATEMENT_BEGIN STATEMENT_END
|
%token STATEMENT_BEGIN STATEMENT_END
|
||||||
%token STRUCTURE_BEGIN STRUCTURE_END
|
%token STRUCTURE_BEGIN STRUCTURE_END
|
||||||
%token OUTPUT_BEGIN OUTPUT_END
|
%token OUTPUT_BEGIN OUTPUT_END
|
||||||
|
%token RENDER
|
||||||
|
|
||||||
%start template
|
%start template
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,8 @@ structure_end "#}"
|
||||||
block_end_token "end"
|
block_end_token "end"
|
||||||
block_end {whitespace}*{block_end_token}{whitespace}*
|
block_end {whitespace}*{block_end_token}{whitespace}*
|
||||||
|
|
||||||
|
render_token "render"
|
||||||
|
|
||||||
id [a-zA-Z_][a-zA-Z0-9_]*
|
id [a-zA-Z_][a-zA-Z0-9_]*
|
||||||
|
|
||||||
type_prefixes "enum"|"struct"
|
type_prefixes "enum"|"struct"
|
||||||
|
@ -72,7 +74,9 @@ type_or_id {type_prefix}?{id}{type_pointer}*
|
||||||
<STATEMENT>"e" { yylval.text = strdup(yytext); return TEXT; /* catch e as text */ }
|
<STATEMENT>"e" { yylval.text = strdup(yytext); return TEXT; /* catch e as text */ }
|
||||||
<STATEMENT>{statement_end} { BEGIN(isMetaSection ? META_SECTION : MAIN_SECTION); return STATEMENT_END; }
|
<STATEMENT>{statement_end} { BEGIN(isMetaSection ? META_SECTION : MAIN_SECTION); return STATEMENT_END; }
|
||||||
|
|
||||||
<STRUCTURE>[^#]+ { yylval.text = strdup(yytext); return TEXT; }
|
<STRUCTURE>[^#r]+ { yylval.text = strdup(yytext); return TEXT; }
|
||||||
|
<STRUCTURE>{render_token} { return RENDER; }
|
||||||
|
<STRUCTURE>"r" { yylval.text = strdup(yytext); return TEXT; /* catch r as text */ }
|
||||||
<STRUCTURE>"#" { yylval.text = strdup(yytext); return TEXT; /* catch # as text */ }
|
<STRUCTURE>"#" { yylval.text = strdup(yytext); return TEXT; /* catch # as text */ }
|
||||||
<STRUCTURE>{structure_end} { BEGIN(isMetaSection ? META_SECTION : MAIN_SECTION); return STRUCTURE_END; }
|
<STRUCTURE>{structure_end} { BEGIN(isMetaSection ? META_SECTION : MAIN_SECTION); return STRUCTURE_END; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue