Releases: prantlf/oscript-parser
Release v0.2.5
Parser
- Allow dereferencing
this
without thethis
keyword (chain the dot operators). - Correct typings for
SliceExpression
. - Nest the binary expressions according to the binary operator precedence.
Walker 0.1.0
If the recursive walker fails, include the latest visited node in the error.
Interpreter 0.1.0
- Ignore the imaginary operator
^^
, recognise the existing one||
. - Fix built-in object method lookup.
- Set default values to declared variables.
- Introduce built-in objects
Assoc
,List
andRegex
. - Add runtime type checking to the built-in functions and object methods.
- Include the last interpreted node in the runtime error report.
- Inline the preparation of AST from an extra preprocessing step to the interpretation phase.
BREAKING CHANGE: The second parameters of interpret
is an object with options. The parameter globals
has been moved to a property in the options
object.
Release v0.2.4
Parser
Remove the operator ~=
that does not exist.
Walker 0.0.3
Skip omitted nodes for.init
, slice.start
and slice.end
expressions during walking.
Interpreter 0.0.1
Initial release.
Release v0.2.3
Fix parsing of an incomplete switch
statement.
Release v0.2.2
Parser
Fix parsing of the member expression without the explicit this
object.
Walker 0.0.2
- Recognize
ObjectExpression
asAssocExpression
for compatibility. - Fix walking of
consequent
andalternate
ofConditionalExpression
.
Release v0.2.1
Fix parsing of the switch
statement.
Release v0.2.0
Update the license for the year 2021
Release v0.1.0
Include a new property warnings
in the parser output or error, which will contain an array of warnings. A warning is a mistake in the source code, which is not fatal (and will be compiled and executed properly), but which is against the modern language specification. Warn about:
- A line break in a single-line string
- A backslash not followed by a whitespace
- A
ifdef
orifndef
preprocessor directive without a name identifier following it - An object declared with other modifier than
public
- A preprocessor directive followed by non-whitespace characters
- A semicolon following feature, function or script declaration
- A missing line break or semicolon after an empty c-like for statement before the end keyword
Release v0.0.1
Initial release.
- Command-line tools
osparse
andoslint
- Functions
parseText
,parseTokens
,tokenize
andstartTokenization
- Typescript typings