Commit Graph

116 Commits

Author SHA1 Message Date
Dmitry Kislyuk 18e7e07a77 vbscript: Parse empty CASE ELSE clause.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49439
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Jacek Caban d26998d6e5 vbscript: Allow any call expression to be used in set statement.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 22:34:09 +01:00
Jacek Caban c994118401 vbscript: Allow assignment left expression to be member expression.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 22:34:07 +01:00
Jacek Caban eb73571fe9 vbscript: Pass parser error location to compiler.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:31 +01:00
Jacek Caban 12b1bcdb95 vbscript: Simplify option explicit parsing.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:29 +01:00
Jacek Caban b2de64eeed vbscript: Use parser_error to set unhandled parser error.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:26 +01:00
Jacek Caban 21346c76b4 vbscript: Store source location in statement_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:19 +01:00
Alexandre Julliard 003a5f7c98 vbscript: Use %define api.pure instead of %pure-parser.
The latter is deprecated and causes warnings.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Jacek Caban 107bba1563 vbscript: Always treat keywords after dot as identifiers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +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 7e420a475e vbscript: Add parser 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:05 +01:00
Jacek Caban 37e2729607 vbscript: Allow 'with' as an identifier.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:30:02 +01:00
Jacek Caban 74ab018763 vbscript: Add support for parsing with statement.
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 c3dde3bd3d vbcript: Allow any call expression in call and assign statements.
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 f9bf6f0e1f vbscript: Allow any unary expression after call keyword.
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 aa95d8a9bc vbscript: Move sign expression to a separated rule.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:34 +01: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
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