Commit Graph

144 Commits

Author SHA1 Message Date
Jacek Caban 922049a21d jscript: Add support for string literals with embedded null bytes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:22 +01:00
Jacek Caban edc9df207c jscript: Return regexp string as jsstr_t from lexer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:04 +01:00
Jacek Caban 56be97fd5d jscript: Add parser support for getters and setters in object initializer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:24 +01:00
Jacek Caban fd4c34759f jscript: Use separated parser rule for property definition.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:20 +01:00
Jacek Caban 9193b9f52c jscript: Rename prop_val_t to property_definition_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:17 +01:00
Jacek Caban 4cabe3612f jscript: Allow trailing comma in object literals.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 22:26:07 +02:00
Jacek Caban 3263d51a1f jscript: Allow using reserved words as identifiers in ES5 mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-04 22:04:27 +02:00
Jacek Caban 170bb3771f jscript: Added beginning support for 'automagic' event binding feature. 2015-06-03 14:47:12 +09:00
Jacek Caban 615f6a6e8b jscript: Move parser related declarations to separated header. 2014-09-30 17:40:10 +02:00
Alexandre Julliard ffbe1ca986 jscript: Use bison directives instead of defines to specify extra lexer parameters. 2013-08-01 11:59:12 +02:00
Piotr Caban 02d63cb312 jscript: Rename jsheap_t to heap_pool_t. 2013-02-15 14:42:58 +01:00
Jacek Caban 42d75be69d jscript: Be more verbose about parser failure. 2012-09-07 19:15:23 +02:00
Jacek Caban ca15adfde6 jscript: Get rid of parser function collecting hack by moving the logic to compiler. 2012-04-26 19:27:36 +02:00
Jacek Caban 474f1152b2 jscript: Moved collecting variable declarations from parser to compiler. 2012-04-25 12:17:08 +02:00
Jacek Caban d76b675ea8 jscript: Use compiler-generated struct for representing function code. 2012-04-24 17:45:16 +02:00
Jacek Caban 0762106648 jscript: Store source code in bytecode_t. 2012-03-26 18:15:08 +02:00
Jacek Caban a6ee63eef3 jscript: Removed no longer needed ref counting in parser_ctx_t. 2012-03-13 10:30:53 +01:00
Jacek Caban a1c4c84005 jscript: Store parser_ctx_t in bytecode_t instead of other way around. 2012-03-13 10:30:49 +01:00
Jacek Caban 9d4b0bd502 jscript: Don't store compiler_ctx_t in parser_ctx_t. 2012-03-13 10:30:36 +01:00
Jacek Caban be29a73845 jscript: Call script_parse from compile_script, not the other way around. 2012-03-13 10:30:32 +01:00
Jacek Caban 825eb76321 jscript: Compile all function from given source in one run. 2012-03-13 10:30:27 +01:00
Jacek Caban 9752df99af jscript: Get rid of instr_off from expression_t. 2012-01-03 12:37:23 +01:00
Jacek Caban 708c83e208 jscript: Make 0 an invalid code offset. 2012-01-03 12:37:22 +01:00
Jacek Caban 83e8658894 jscript: Get rid of no longer needed interp_tree. 2011-12-30 15:41:06 +01:00
Jacek Caban ee6e6986fb jscript: Moved instr_off from statement_t to source_elements_t. 2011-12-29 16:18:50 +01:00
Jacek Caban 6710e7ec6f jscript: Get rid of stat_eval_table. 2011-12-29 16:18:49 +01:00
Jacek Caban c5c2276a9f jscript: Added bytecode versions of break and continue statements. 2011-12-28 17:49:19 +01:00
Jacek Caban 3b56e49ef9 jscript: Added bytecode version of try statement. 2011-12-28 17:48:48 +01:00
Jacek Caban 02ff8d1853 jscript: Use bytecode for throw statement. 2011-12-28 17:48:42 +01:00
Jacek Caban 661241a392 jscript: Added bytecode version of for..in statement. 2011-12-28 17:48:32 +01:00
Jacek Caban a6530f4032 jscript: Use bytecode for labelled statement stub. 2011-12-27 16:55:09 +01:00
Jacek Caban c57dd899a4 jscript: Added bytecode version of switch statement. 2011-12-27 16:55:08 +01:00
Jacek Caban abffe88e19 jscript: Added bytecode version of with statement. 2011-12-27 16:55:08 +01:00
Jacek Caban 17fedc448b jscript: Added bytecode version of for loop statement. 2011-12-27 16:55:07 +01:00
Jacek Caban f5425aeeca jscript: Added bytecode version of while statement. 2011-12-27 16:55:07 +01:00
Jacek Caban 5c158f1df6 jscript: Use compiler to handle variable statement. 2011-12-20 20:06:28 +01:00
Jacek Caban 7c3160ae02 jscript: Use compiler for hanling empty statements. 2011-12-19 20:15:47 +01:00
Jacek Caban cf2fc11e31 jscript: Use compiler for handling if statement. 2011-12-19 20:15:47 +01:00
Jacek Caban ccba279b89 jscript: Use compiler for handling expression statements. 2011-12-19 20:15:47 +01:00
Jacek Caban f6023c428a jscript: Use bytecode for block statement implementation. 2011-12-19 20:15:46 +01:00
Jacek Caban 42aefd424d jscript: Store type information in statement nodes. 2011-12-19 20:15:45 +01:00
Jacek Caban fecc2fcb5e jscript: Get rid of no longer needed expression eval entry. 2011-12-16 16:38:28 +01:00
Jacek Caban 5e6faaea12 jscript: Use bytecode for object literal implementation. 2011-12-16 16:38:28 +01:00
Jacek Caban b268e41da6 jscript: Use bytecode for function expression implementation. 2011-12-16 16:38:28 +01:00
Jacek Caban 63366f8f1b jscript: Always use compiler for member, array and identifier expressions. 2011-12-15 17:46:47 +01:00
Jacek Caban 3caf287630 jscript: Use bytecode for typeof expression implementation. 2011-12-13 18:59:10 +01:00
Jacek Caban 6f35c8fd5d jscript: Use bytecode for instanceof implementation. 2011-12-12 15:50:46 +01:00
Jacek Caban 7c3728d728 jscript: Use bytecode for '<<=' expression implementation. 2011-12-09 21:15:29 +01:00
Jacek Caban a80392e5ea jscript: Use bytecode for '<<' expression implementation. 2011-12-09 21:15:28 +01:00
Jacek Caban 7904932a9e jscript: Use bytecode for '>>>=' expression implementation. 2011-12-09 21:15:28 +01:00