Commit Graph

99 Commits

Author SHA1 Message Date
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
Gabriel Ivăncescu 9a6a4dc33e vbscript/parser: Handle lack of newlines before certain End statements.
In the Windows vbscript parser, some End statements don't require a newline
preceeding them. The game Ymir actually depends on this.

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-06 15:34:16 +02:00
Jacek Caban 17c5a25091 vbscript: Support unary + expressions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 21:56:17 +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
Brendan McGrath 78078b65b2 vbscript: Allow most keywords to be used as 'dot' identifiers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46318
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Brendan McGrath d2937bfff2 vbscript: Allow more keywords to be used as identifiers.
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:07:06 +01:00
Alex Henrie 36f25a4b8a vbscript: Make constant 'html_delimiterW' static.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Dmitry Kislyuk 31ef99245a vbscript: Improve parsing of separators in functions and classes.
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 19:33:06 +01:00
Dmitry Kislyuk 5193b6fa69 vbscript: Improve parsing of separators after Option Explicit.
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 14:23:27 +02:00
Dmitry Kislyuk 56b31ba2e1 vbscript: Improve parsing of separators in loops and switches.
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:45:37 +02:00
Dmitry Kislyuk 4ecc00f6ff vbscript: Allow colons at the end of first line of loops.
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 17:15:05 +02:00
Jacek Caban 3873c93891 vbscript: Allow omitting optional function parameters in call expressions. 2015-01-28 21:30:10 +01:00
Nikolay Sivov e584edd379 vbscript: Support 'End If' for single line If statements. 2015-01-16 17:33:00 +01:00
Alexandre Julliard 534394dfa2 vbscript: Avoid using bool keyword. 2014-05-19 11:38:33 +02:00
Jacek Caban 0f50cb323e vbscript: Allow property getters to take arguments. 2014-04-30 15:15:31 +02:00
Jacek Caban 69bee9f004 vbscript: Allow empty brackets in argument declarations. 2014-03-13 20:22:21 +01:00
Jacek Caban aa045d51b3 vbscipt: Allow ':' to be a separator in select case statement. 2014-03-10 10:41:49 +01:00
Jacek Caban 82cace0f0e vbscipt: Added beginning support for arrays as class members. 2014-03-07 14:34:40 +01:00
Jacek Caban cf51435541 vbscript: Added parser support for arrays. 2013-11-13 18:30:45 +01:00
Alexandre Julliard f86c46f640 vbscript: Use bison directives instead of defines to specify extra lexer parameters. 2013-08-01 12:00:23 +02:00
Piotr Caban fb29bf7d2f vbscript: Rename vbsheap to heap_pool. 2013-02-15 16:26:30 +01:00
Jacek Caban 0e56e99698 vbscript: Print more informative FIXME when parser fails. 2012-10-30 10:48:18 +01:00
Jacek Caban a41ba1c3e8 vbscript: Added support for negative constants. 2012-10-29 14:40:04 +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 20b2d057d2 vbscript: Fixed parsing if statements with empty body. 2012-09-18 14:48:28 +02:00
Jacek Caban 119c985cda vbscript: Added parser support for select case statement. 2012-07-20 21:30:03 +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 d856d7cd11 vbscript: 'property' may be both keyword and identifier. 2012-04-25 12:17:14 +02:00
Jacek Caban cb1a8a3c58 vbscript: Short if statement may have optional 'end if'. 2012-04-13 17:44:40 +02:00
Jacek Caban 8c1b9a01bf vbscript: Added for each loop parser implementation. 2012-01-04 18:59:18 +01:00
Jacek Caban ed53c40eda vbscript: Added exit for statement support. 2011-09-22 16:33:33 +02:00
Jacek Caban d935c21ccf vbscript: Added for..to statement parser implementation. 2011-09-22 16:33:01 +02:00
Jacek Caban eb5e97a67f vbscript: Added const statement parser implementation. 2011-09-21 14:47:28 +02:00
Jacek Caban 7146387dc6 vbscript: Added support for short if statements. 2011-09-20 16:21:42 +02:00
Jacek Caban d0ae4c47a9 vbscript: Added support for ':' as statement separator. 2011-09-20 16:21:41 +02:00
Jacek Caban 6afc32c97d vbscript: Added On Error statement parser implementation. 2011-09-19 18:32:50 +02:00
Jacek Caban eef966faf7 vbscript: Added ME expression parser implementation. 2011-09-19 18:32:50 +02:00
Jacek Caban 2de6982f46 vbscript: Added is expression implementation. 2011-09-19 18:00:01 +02:00
Jacek Caban beef095654 vbscript: Added more equality expressions parser/compiler implementation. 2011-09-19 17:59:41 +02:00
Jacek Caban 004210f1fb vbscript: Added do..while and do..until statements implementation. 2011-09-16 17:23:16 +02:00
Jacek Caban 223a407a7f vbscript: Added do until..loop statement implementation. 2011-09-16 17:23:16 +02:00
Jacek Caban 9701bdb563 vbscript: Added support for exit do statement. 2011-09-16 17:23:16 +02:00
Jacek Caban 1f5c56d1a8 vbscript: Added do while..loop statement implementation. 2011-09-16 17:23:16 +02:00
Jacek Caban 3d34925802 vbscript: Added while..wend statement implementation. 2011-09-16 17:23:16 +02:00
Jacek Caban a8de7904f5 vbscript: Added support for default getters. 2011-09-16 17:23:14 +02:00
Jacek Caban 6c8c617df9 vbscript: Added support for exit property statement. 2011-09-16 17:23:14 +02:00
Jacek Caban 32f336bd9d vbscript: Added getters/setters parser implementation. 2011-09-16 17:23:13 +02:00