commit - c590d32c3b82e304a46bdac1512349fdd267dce4
commit + 6125bd6174efea22606903d0ca4ae21c3b07fd2a
blob - f3e96dbd4607647561536b0725e2f933bc49400b
blob + 59af6214db163cc35a3bb10488b755a2361085a3
--- template/parse.y
+++ template/parse.y
%token RENDER TQFOREACH UNSAFE URLESCAPE
%token <v.string> STRING
%type <v.string> string
+%type <v.string> stringy
%%
printf(" %s", $2);
free($2);
}
+ ;
-if : '{' IF string '}' {
+if : '{' IF stringy '}' {
dbg();
printf("if (%s) {\n", $3);
free($3);
| elsif body endif
;
-elsif : '{' ELSE IF string '}' {
+elsif : '{' ELSE IF stringy '}' {
dbg();
printf("} else if (%s) {\n", $4);
free($4);
free($2);
}
| STRING
+ ;
+
+stringy : STRING
+ | STRING stringy {
+ if (asprintf(&$$, "%s %s", $1, $2) == -1)
+ err(1, "asprintf");
+ free($1);
+ free($2);
+ }
+ | '|' stringy {
+ if (asprintf(&$$, "|%s", $2) == -1)
+ err(1, "asprintf");
+ free($2);
+ }
;
%%