Commit Graph

118 Commits

Author SHA1 Message Date
Gabriel Ivăncescu 4699d36656 vbscript: Store global variables in an array.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 22:00:08 +01:00
Jacek Caban 3dea7bd7fc vbscript: Store global static arrays together with global variables.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 22:00:05 +01:00
Jacek Caban 509044296d vbscript: Fix parsing call expressions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41119
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:27 +01:00
Jacek Caban 52bbac0a36 vbscript: Replace existing function for duplicated functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Jacek Caban ea7a3953fc vbscript: Store global functions in an array.
Based on patch by Gabriel Ivăncescu.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Jacek Caban 5cb1631fe2 vbscript: Add interpreter support for redim statement.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:30:09 +01:00
Jacek Caban e8b2f85bb1 vbscript: Add support for interpreting statements.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-29 23:30:47 +01:00
Jacek Caban 2d419b7d7b vbscript: Always pass arguments inside parentheses by value.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 20:12:38 +01:00
Jacek Caban 216f7146ef vbscript: Ignore parentheses in call expression.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:34 +01:00
Jacek Caban 25248362ea vbscript: Support non-member calls in compiler.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:34 +01:00
Jacek Caban fab9c49a6a vbscript: Introduce separated struct for call expressions.
Instead of storing arguments in member expression struct.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:34 +01:00
Jacek Caban 581a8adf1f vbscript: Create class description for procedure object in compiler.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 22:48:02 +02:00
Jacek Caban 34674eff5b vbscript: Call OnScriptError for compile errors.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Gabriel Ivăncescu 7c9139dffb vbscript: Handle NULL code text in ParseScriptText and ParseProcedureText.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:18 +02:00
Gabriel Ivăncescu 8037b13078 vbscript: Add support for the SCRIPTTEXT_ISEXPRESSION flag in ParseScriptText.
To simplify the amount of special cases both in ParseScriptText and
ParseProcedureText, add a new pseudo statement and opcode to return the
expression and value at the top of the stack, respectively. Script texts
that have this flag will be parsed specially as a single expression with
such a statement at the end.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 18:49:47 +02:00
Jacek Caban 9b18772c0b vbscript: Rename OP_long expression to OP_int.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 21:56:15 +02:00
Jacek Caban d01d629420 vbscript: Handle long/short distinction in interpreter.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 21:56:12 +02:00
Alexandre Julliard 3911e6696a vbscript: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 08:46:31 +02:00
Jacek Caban 7e10941083 vbscript: Added support for script context in ParseScriptText.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 12:35:11 +01:00
Jacek Caban 3873c93891 vbscript: Allow omitting optional function parameters in call expressions. 2015-01-28 21:30:10 +01:00
Jacek Caban 2de2e10d47 vbscript: Always initialize is_array value (valgrind). 2014-06-11 19:15:27 +02:00
Jacek Caban 7aaf597db1 vbscript: Fixed a leak. 2014-03-24 13:58:09 +01:00
Jacek Caban fc0ef22a44 vbscript: Added support for exception unwinding. 2014-03-21 16:51:23 +01:00
Jacek Caban 82cace0f0e vbscipt: Added beginning support for arrays as class members. 2014-03-07 14:34:40 +01:00
Jacek Caban fc713bfc12 vbscript: Added bytecode support for arrays. 2013-11-13 18:30:55 +01:00
Jacek Caban f3e1f7002d vbscript: Store variables in declaration order. 2013-11-13 18:30:49 +01:00
Jacek Caban cf51435541 vbscript: Added parser support for arrays. 2013-11-13 18:30:45 +01:00
Jacek Caban 9eed654e05 vbscript: Use DEFAULT_UNREACHABLE macro where appropriate. 2013-03-13 16:27:49 +01:00
Alexandre Julliard 72226ea8df vbscript: Return after assert(0) to silence warnings. 2013-03-06 14:09:58 +01:00
Piotr Caban fb29bf7d2f vbscript: Rename vbsheap to heap_pool. 2013-02-15 16:26:30 +01:00
André Hentschel 1aa6236428 vbscript: Avoid memory leak in compile_select_statement (coverity). 2012-10-31 16:12:27 +01:00
Jacek Caban 290f563199 vbscript: Added support for HTML comments. 2012-10-18 19:21:24 +02:00
Jacek Caban 5a2b3e0de6 vbscript: Added support for do..loop statement without an expression. 2012-09-18 14:48:39 +02:00
Jacek Caban 9e3f75cfb1 vbscript: Renamed vbscode_t's variables to not suggest that they are global code-only. 2012-09-06 18:23:39 +02:00
Jacek Caban 080169f1d2 vbscript: Fixed uninitialized opcode param in forto statement bytecode. 2012-09-06 18:23:39 +02:00
Jacek Caban f17aaf8da7 vbscript: Added compiler support for select case statement. 2012-07-20 21:30:04 +02:00
Jacek Caban 119c985cda vbscript: Added parser support for select case statement. 2012-07-20 21:30:03 +02:00
Jacek Caban 00dfcb08b8 vbscript: Added support for exit for statement in 'for in' loops. 2012-07-09 09:59:25 -04:00
Jacek Caban f8deed7c2f vbscript: Fixed function return crossing for loop. 2012-07-09 09:58:51 -04:00
Jacek Caban 8de35a4514 vbscript: Fixed 'exit do' statements crossing for in loops. 2012-07-09 09:58:49 -04:00
Jacek Caban b675164be4 vbscript: Better representation of statement context. 2012-07-09 09:58:35 -04:00
Jacek Caban 44266442ed vbscript: Added interpreter and compiler support for for each loops. 2012-07-03 17:11:57 +02:00
Jacek Caban 4ca8447769 vbscript: Skip the first (null) instruction in dump_code. 2012-07-03 17:11:52 +02:00
Jacek Caban e56a5907a3 vbscript: Added a hack for parameterized assignments with one argument. 2012-07-03 17:11:42 +02:00
Jacek Caban 1e5c2134f1 vbscript: Evaluate object expression before value expression in member assignment. 2012-03-26 18:15:16 +02:00
Jacek Caban c53529b48d vbscript: Use 0 as an invalid label value. 2012-01-16 16:49:10 +01:00
Jacek Caban ff96e75996 vbscript: Use 0 as invalid instruction offset. 2012-01-16 16:49:04 +01:00
Jacek Caban 8c1b9a01bf vbscript: Added for each loop parser implementation. 2012-01-04 18:59:18 +01:00
Jacek Caban edd5ca71b2 vbscript: Added compiler support for parametrized assignment statements. 2011-12-27 17:07:31 +01:00
Jacek Caban 851856af67 vbscript: Fixed local variable count calculation. 2011-10-24 19:54:14 +02:00