124 Commits

Author SHA1 Message Date
Dániel Bátyai
4ee30cba5d Fix RegExp literal parsing
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai.u-szeged@partner.samsung.com
2015-08-12 11:49:05 +02:00
Dániel Bátyai
d2ac7c320d Fix invalid control escapes during RegExp parsing.
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai.u-szeged@partner.samsung.com
2015-08-12 11:33:15 +02:00
Andrey Shitov
0d855e898d Fix hoisting of function declaration from function expressions.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-08-11 15:01:45 +03:00
Andrey Shitov
531a9d3352 Fix invalid preparsing of variable declarations which are not splitted by comma.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-08-11 14:39:02 +03:00
Andrey Shitov
d6ad1c467e Fix semicolon check after variable declaration list.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-08-11 14:23:11 +03:00
Andrey Shitov
95c1c223e8 Add checking for invalid operand in perfix operation.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-08-11 13:51:37 +03:00
Szilard Ledan
e22a085fc1 Implement RegExp octal support
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai.u-szeged@partner.samsung.com
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan szledan.u-szeged@partner.samsung.com
2015-08-10 15:13:21 +02:00
László Langó
ab846f6fba Fix invalid control escape in RegExp.
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
2015-08-06 14:45:52 +02:00
László Langó
7aacb8fc01 Remove recursion limit from RegExp engine.
Related issue: #388

JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
2015-08-06 09:58:50 +02:00
Andrey Shitov
24e307481e Optimize block size calculation in functions working with linked list.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-08-05 14:29:51 +03:00
László Langó
57336909cb Fix RegExp matching on right brackets and braces.
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
2015-08-04 16:52:08 +02:00
Szilard Ledan
9ab0f23e48 Fix IgnoreCase in RegExp engine
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai.u-szeged@partner.samsung.com
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan szledan.u-szeged@partner.samsung.com
2015-08-04 16:29:47 +02:00
Szilard Ledan
6ec05ff07f Refactor and cleanup the RegExp parser
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan szledan.u-szeged@partner.samsung.com
2015-08-04 14:45:37 +02:00
Ruben Ayrapetyan
c41f76aba2 Support up to 65535 items in object / array literals.
Related issue: #276

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-08-03 15:54:53 +03:00
Ruben Ayrapetyan
f7781bb7bc Remove intrinsics (native_call opcode).
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-31 17:59:03 +03:00
Ruben Ayrapetyan
72d4c07bdc Remove 'print' instrinsic, add 'print' implementation-defined built-in routine to the Global object.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-31 17:57:59 +03:00
Ruben Ayrapetyan
502f4c4623 Split opcode and instruction entities and perform related renamings: opcode_t is now vm_instr_t, opcode position is instruction position, etc.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-28 13:43:43 +03:00
Ruben Ayrapetyan
1990762cf0 Add opcode description table containing an opcode's name, name and possible type of the opcode's arguments.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-28 13:43:43 +03:00
László Langó
3c71daaf84 Use unicode iterators in RegExp engine and implement \d, \D, \w, \W, \s, \S, \x, \u matching in RegExp.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan szledan.u-szeged@partner.samsung.com
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
2015-07-24 16:07:25 +02:00
Ruben Ayrapetyan
d11dfc5703 Fix syntax check of literal duplication in FormalParameterList (strict mode).
Related issue: #381

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-22 15:22:40 +03:00
Ruben Ayrapetyan
6ade8dfebb Fix preparse_scope - consider nesting level during search for identifier tokens.
Related issue: #440

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-22 14:50:57 +03:00
Ruben Ayrapetyan
7b3042fdc9 Remove usage of isalpha, isdigit, isxdigit, isspace in the whole engine except implementation of JSON built-in, moving the functions to JSON built-in's module.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-20 15:47:19 +03:00
Szilard Ledan
d2457b1fc6 Add missing RegExp case in the token_type_to_string
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan szledan.u-szeged@partner.samsung.com
2015-07-16 10:04:03 +03:00
Andrey Shitov
4fdb5249b9 Restore "Fix preparsing of variable declaration lists, which are not divided by a semicolon." 06d0c1806d7ceff5192feee996c770b42bc1e1e9) that was incorrectly removed in abc2b55297eff13538fca2440d127ba79cdcc8b3.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-15 20:20:26 +03:00
Ruben Ayrapetyan
abc2b55297 Fix dump of arguments / eval usage hint in preparse_scope.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 17:24:54 +03:00
Ruben Ayrapetyan
7bc2c69147 Temporary workaround (until parser is refactored) for fixing parse of expressions like '1 = 1'.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 17:00:45 +03:00
Ruben Ayrapetyan
44b7b95781 Add support of ReferenceError early error to parser.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 17:00:45 +03:00
Andrey Shitov
06d0c1806d Fix preparsing of variable declaration lists, which are not divided by a semicolon.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-15 16:53:41 +03:00
Ruben Ayrapetyan
7ccec19c26 Fix strict mode in an object initializer's getters / setters definition.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 13:32:02 +03:00
Andrey Shitov
4f58104981 Fix checking of semicolons in expression statements.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-15 13:15:25 +03:00
Ruben Ayrapetyan
0e8cb596d7 Fix parse of preincrement / predecrement, applied to 'obj.prop'-like expressions.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 13:04:02 +03:00
Ruben Ayrapetyan
6fe78cc994 Temporary workaround (until parser is refactored) for fixing evaluation of simple 'identifier'-like expressions.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 12:52:42 +03:00
Ruben Ayrapetyan
5e329c815c Fix syntax checking of large object literals.
Related issue: #354

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 12:41:56 +03:00
Ruben Ayrapetyan
73d082aa55 Fix parse of delete operator.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 12:34:51 +03:00
Ruben Ayrapetyan
c120433158 Fix handling of EOF in insert_semicolon.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-15 12:31:47 +03:00
László Langó
cf9d54545f Style fixes for RegExp engine.
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
2015-07-15 11:02:11 +02:00
Ruben Ayrapetyan
92bf7859af Put lexer_init after setjmp in parser_parse_program, as lexer_init could raise an early error.
Related issues: #341

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-14 18:42:49 +03:00
Andrey Shitov
1195c197e8 Fix syntax checking for line terminators inside regular expressions.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-14 17:58:24 +03:00
Andrey Shitov
f3ef9afb91 Fix handling of invalid HexIntegerLiterals in lexer.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-14 17:58:24 +03:00
Ruben Ayrapetyan
aa415c670e Fix initialization of 'this' argument in 'call_n' opcode handler.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-13 19:31:07 +03:00
Andrey Shitov
b3fa7d9765 Fix function skipping in preparse_scope: properly detect usage of 'function' keyword as property name.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-13 18:01:18 +03:00
Andrey Shitov
7f1a7981b9 Support true, false, null as property names.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-13 18:01:17 +03:00
Andrey Shitov
60bd718fb5 Fix assertion !lit_utf8_iterator_is_eos (iter_p) in lexer.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-13 18:01:17 +03:00
Andrey Shitov
64bbf2752e Fix printing of the source line with syntax error.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-13 18:01:17 +03:00
László Langó
122e5c47c9 Fix assertion in RegExp bytecode realloc.
Assertion '!bc_ctx_p->current_p && !bc_ctx_p->block_end_p && !bc_ctx_p->block_start_p' failed in realloc_regexp_bytecode_block

JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
2015-07-10 10:23:09 +02:00
Andrey Shitov
d5fd0b09b1 Properly process Use Strict which contains EscapeSeqence or LineContinuation.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-09 12:43:13 +03:00
Andrey Shitov
17cdc35d6d Fix detection of Use Strict directive not in the start of Directive Prologue.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-09 12:43:03 +03:00
Andrey Shitov
146ac15b5f Change locus type from size_t to lit_utf8_iterator_pos_t.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
2015-07-08 15:53:33 +03:00
Ruben Ayrapetyan
7dd1d01541 Replace character constants with corresponding LIT_CHAR_* definitions in lexer_parse_token (renamed from lexer_next_token_private); replace remaining character constants in lexer with corresponding LIT_CHAR_* definitions.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-08 15:53:23 +03:00
Ruben Ayrapetyan
e45f6dc61b Replace punctuator character constants with corresponding LIT_CHAR_* definitions in lexer_next_token_private.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
2015-07-08 15:53:12 +03:00