Commit Graph

46 Commits

Author SHA1 Message Date
Michael Stefaniuc 34884b83ad vbscript: Avoid negating SUCCEEDED().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 20:47:31 +01:00
Robert Wilhelm bf5f7a7b7b vbscript: Support date and time literals.
Date literals, which are enclosed in number signs in vbscript,
will be lexed, pushed throught parser and compiler and
finally converted to VT_Date Variant in interpreter.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51503
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:21:14 +02:00
Robert Wilhelm 9821da5546 vbscript: Remove overzealous check in parse_hex_literal.
is_identifier_char also triggers on logical operators like "or".

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50179
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:40 +01:00
Michael Stefaniuc ca5bc488d9 vbscript: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Robert Wilhelm a31023a678 vbscript: Parse decimal literals between -1 and 1 without 0 in front.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49820
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:30:46 +02:00
Jacek Caban 8def4dfa0e vbscript: Don't convert hex literals ending with '&' to short in parse_hex_literal.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Jacek Caban cd1918948f vbscript: Overflow hex literals in 16-bit range.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:44:56 +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
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 a35adb1950 vbscript: Treat only ASCII digits as digits.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 23:38:09 +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 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 55e9c896ca vbscript: Use wide char literals for lexer keywords.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-29 23:30:47 +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
Jacek Caban 0131a9c47b vbscript: Suport + sign in exponential literals.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 19:21:33 +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
Zebediah Figura 1bd7dbfbc4 vbscript: Handle carriage return in more places.
This fixes a regression introduced by 5800c9ed23.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46772
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-05 09:22:42 +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
Michael Stefaniuc b4a24c6575 vbscript: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-20 18:36:55 +02:00
Zebediah Figura 5800c9ed23 vbscript: Treat \r as a newline separator.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-19 20:47:03 +02:00
Jacek Caban f0e85ee2f3 vbscript: Added support for exponential form of numeric literals. 2014-06-11 16:16:02 +02:00
Piotr Caban 7c7ccc0ef5 vbscript: Parse doubles with bigger precision in parse_numeric_literal. 2014-05-19 09:47:22 +02:00
Jacek Caban 290f563199 vbscript: Added support for HTML comments. 2012-10-18 19:21:24 +02:00
Jacek Caban 119c985cda vbscript: Added parser support for select case statement. 2012-07-20 21:30:03 +02:00
Jacek Caban 8c1b9a01bf vbscript: Added for each loop parser implementation. 2012-01-04 18:59:18 +01:00
Jacek Caban 76eeca2255 vbscript: Added support for hex literals not ending with '&'. 2011-10-18 15:16:04 +02:00
Jacek Caban 64fd6fa787 vbscript: Added lexer support for '_'. 2011-10-17 17:45:07 +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 645d459618 vbscript: Added support for rem statement-like comments. 2011-09-20 16:21:41 +02:00
Jacek Caban d0ae4c47a9 vbscript: Added support for ':' as statement separator. 2011-09-20 16:21:41 +02:00
Jacek Caban e5d25a170a vbscript: Added hex literal implementation. 2011-09-12 16:49:55 +02:00
Jacek Caban 1e224b4e09 vbscript: Added lexer support for numeric literals. 2011-09-12 14:03:25 +02:00
Jacek Caban e5eaf4d222 vbscript: Added lexer support for remaining equality expressions. 2011-09-12 14:03:19 +02:00
Jacek Caban a921bd2ea4 vbscript: Added support for |f a, b, c| call statement. 2011-09-09 15:03:12 +02:00
Jacek Caban 0e415e0c0f vbscript: Added lexer support for string literals. 2011-09-08 20:08:08 +02:00
Jacek Caban 7cbc5235bd vbscript: Added more keywords to lexer. 2011-09-08 20:08:08 +02:00
Jacek Caban b6e9a83d78 vbscript: Added support for call keyword in lexer. 2011-09-08 20:08:08 +02:00
Jacek Caban 1ac1ffba11 vbscript: Added support for a few more characters in lexer. 2011-09-08 20:08:08 +02:00
Jacek Caban 91cc7bd719 vbscript: Added identifiers support to lexer. 2011-09-07 18:13:29 +02:00
Jacek Caban 9f8492692c vbscript: Added lexer support for newlines and comments. 2011-09-07 18:13:29 +02:00
Jacek Caban f8e72b295c vbscript: Added beginning lexer implementation. 2011-09-06 15:51:59 +02:00