]> granicus.if.org Git - php/commit
Throw ParseException from lexer
authorNikita Popov <nikic@php.net>
Sat, 21 Mar 2015 19:10:19 +0000 (20:10 +0100)
committerNikita Popov <nikic@php.net>
Thu, 2 Apr 2015 14:31:17 +0000 (16:31 +0200)
commita8bf1c5d8f5755b53492e58040cfe88150eb57b6
treec3b94b3c9cb7bdf5964a5428673459a78e12edc5
parent83a15801cc8619a1a83307e573bf1b63f0d4b53c
Throw ParseException from lexer

Primarily to avoid getting fatal errors from token_get_all().

Implemented using a magic E_ERROR token, which the lexer emits to
force a parser failure.
15 files changed:
Zend/tests/require_parse_exception.phpt
Zend/zend.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
ext/tokenizer/tests/parse_errors.phpt [new file with mode: 0644]
ext/tokenizer/tokenizer.c
ext/tokenizer/tokenizer_data_gen.sh
tests/lang/invalid_octal.phpt
tests/lang/string/unicode_escape_empty.phpt
tests/lang/string/unicode_escape_incomplete.phpt
tests/lang/string/unicode_escape_large_codepoint.phpt
tests/lang/string/unicode_escape_sign.phpt
tests/lang/string/unicode_escape_sign2.phpt
tests/lang/string/unicode_escape_whitespace.phpt