Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated is not syntax for volt #10198

Merged
merged 1 commit into from
Apr 29, 2015
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions ext/phalcon/mvc/view/engine/volt/base.c
Original file line number Diff line number Diff line change
@@ -80,6 +80,12 @@ const phvolt_token_names phvolt_tokens[] =
{ SL("EXTENDS"), PHVOLT_T_EXTENDS },
{ SL("IS"), PHVOLT_T_IS },
{ SL("DEFINED"), PHVOLT_T_DEFINED },
{ SL("EMPTY"), PHVOLT_T_EMPTY },
{ SL("EVEN"), PHVOLT_T_EVEN },
{ SL("ODD"), PHVOLT_T_ODD },
{ SL("NUMERIC"), PHVOLT_T_NUMERIC },
{ SL("SCALAR"), PHVOLT_T_SCALAR },
{ SL("ITERABLE"), PHVOLT_T_ITERABLE },
{ SL("INCLUDE"), PHVOLT_T_INCLUDE },
{ SL("DO"), PHVOLT_T_DO },
{ SL("WHITESPACE"), PHVOLT_T_IGNORE },
@@ -245,6 +251,11 @@ int phvolt_internal_parse_view(zval **result, zval *view_code, zval *template_pa

/** Start the reentrant parser */
phvolt_parser = phvolt_Alloc(phvolt_wrapper_alloc);
if (unlikely(!phvolt_parser)) {
MAKE_STD_ZVAL(*error_msg);
ZVAL_STRING(*error_msg, "Memory allocation error", 1);
return FAILURE;
}

parser_status = emalloc(sizeof(phvolt_parser_status));
state = emalloc(sizeof(phvolt_scanner_state));
@@ -595,6 +606,30 @@ int phvolt_internal_parse_view(zval **result, zval *view_code, zval *template_pa
phvolt_(phvolt_parser, PHVOLT_DEFINED, NULL, parser_status);
break;

case PHVOLT_T_EMPTY:
phvolt_(phvolt_parser, PHVOLT_EMPTY, NULL, parser_status);
break;

case PHVOLT_T_EVEN:
phvolt_(phvolt_parser, PHVOLT_EVEN, NULL, parser_status);
break;

case PHVOLT_T_ODD:
phvolt_(phvolt_parser, PHVOLT_ODD, NULL, parser_status);
break;

case PHVOLT_T_NUMERIC:
phvolt_(phvolt_parser, PHVOLT_NUMERIC, NULL, parser_status);
break;

case PHVOLT_T_SCALAR:
phvolt_(phvolt_parser, PHVOLT_SCALAR, NULL, parser_status);
break;

case PHVOLT_T_ITERABLE:
phvolt_(phvolt_parser, PHVOLT_ITERABLE, NULL, parser_status);
break;

case PHVOLT_T_DO:
phvolt_(phvolt_parser, PHVOLT_DO, NULL, parser_status);
break;
11 changes: 8 additions & 3 deletions ext/phalcon/mvc/view/engine/volt/generate
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
#! /bin/sh
if [ ! -f lemon ]; then
gcc -O2 lemon.c -o lemon
fi
rm -f *.o
rm -f *.lo
re2c -b -o scanner.c scanner.re && ./lemon -s -q parser.lemon && cat base.c >> parser.c
sed -i 's!^#line.*$$!/* & */!g' scanner.c
sed -i 's!^#line.*$$!/* & */!g' parser.c

make clean
make all
Loading