From 8b2f83fa757efd3d7b367a74a12db3bfea1718cc Mon Sep 17 00:00:00 2001 From: overflowerror Date: Fri, 4 Jun 2021 20:15:15 +0200 Subject: [PATCH] added render token --- src/parser.y | 1 + src/scanner.l | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/parser.y b/src/parser.y index 6445dfb..36be3bc 100644 --- a/src/parser.y +++ b/src/parser.y @@ -44,6 +44,7 @@ extern struct template result; %token STATEMENT_BEGIN STATEMENT_END %token STRUCTURE_BEGIN STRUCTURE_END %token OUTPUT_BEGIN OUTPUT_END +%token RENDER %start template diff --git a/src/scanner.l b/src/scanner.l index e99590b..2cb626a 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -17,6 +17,8 @@ structure_end "#}" block_end_token "end" block_end {whitespace}*{block_end_token}{whitespace}* +render_token "render" + id [a-zA-Z_][a-zA-Z0-9_]* type_prefixes "enum"|"struct" @@ -72,7 +74,9 @@ type_or_id {type_prefix}?{id}{type_pointer}* "e" { yylval.text = strdup(yytext); return TEXT; /* catch e as text */ } {statement_end} { BEGIN(isMetaSection ? META_SECTION : MAIN_SECTION); return STATEMENT_END; } -[^#]+ { yylval.text = strdup(yytext); return TEXT; } +[^#r]+ { yylval.text = strdup(yytext); return TEXT; } +{render_token} { return RENDER; } +"r" { yylval.text = strdup(yytext); return TEXT; /* catch r as text */ } "#" { yylval.text = strdup(yytext); return TEXT; /* catch # as text */ } {structure_end} { BEGIN(isMetaSection ? META_SECTION : MAIN_SECTION); return STRUCTURE_END; }