|
cef845f0f8
|
Add lint validation for break/continue statement outside the loop body
|
2024-01-12 20:52:30 +01:00 |
|
|
ec04e5faca
|
Move classes implementation outside of parser module
|
2024-01-12 20:52:30 +01:00 |
|
|
bcce978341
|
Source located VariableDoesNotExistsException
|
2024-01-12 20:52:30 +01:00 |
|
|
6a35f6e66a
|
Source located error in linter for include statement
|
2024-01-12 20:52:30 +01:00 |
|
|
35971e874b
|
Add semantic linter as a required stage
|
2024-01-12 20:52:30 +01:00 |
|
|
1535e86472
|
Remove unnecessary abstraction Expression, use Statement only as marker
|
2024-01-12 20:52:30 +01:00 |
|
|
f6d4ff5cc9
|
Parse error highlighting for include statement
|
2024-01-12 20:52:30 +01:00 |
|
|
a05e9e55e3
|
[java] Add Boolean converter to Value, add collections example
|
2024-01-12 20:52:30 +01:00 |
|
|
22622b3013
|
Better container access formatting
|
2024-01-12 20:52:30 +01:00 |
|
|
d3dd8feb10
|
Source located function, class and arguments
|
2024-01-12 20:52:30 +01:00 |
|
|
2bb5e45517
|
[functional] Move indexed variant of Stream.forEach to Stream,forEachIndexed
|
2024-01-12 20:52:30 +01:00 |
|
|
110aa6264a
|
[functional] Add Stream.filterNot
|
2024-01-12 20:52:30 +01:00 |
|
|
fb6a8b8ea1
|
Add Beautifier as a stage
|
2024-01-12 20:52:30 +01:00 |
|
|
c5810f0deb
|
Add input sources and source loading stage
|
2024-01-12 20:52:30 +01:00 |
|
|
8474f87358
|
Formatted error output in program tests
|
2024-01-12 20:52:30 +01:00 |
|
|
807ffd44f8
|
Source location for unknown class/function exceptions
|
2024-01-12 20:52:30 +01:00 |
|
|
5267ff6144
|
Call stack for class constructor
|
2024-01-12 20:52:30 +01:00 |
|
|
02e9d1f6c5
|
Generalized way to show source located errors (parse and runtime errors)
|
2024-01-12 20:52:30 +01:00 |
|
|
1fb9c8b3c5
|
Show function call position in call stack
|
2024-01-12 20:52:30 +01:00 |
|
|
34298bceb8
|
Fix function call statement passes Variable expression instead of function name value
|
2024-01-12 20:52:30 +01:00 |
|
|
3e661c81c4
|
Simplify variables grabber
|
2024-01-12 20:52:30 +01:00 |
|
|
8a4dcde2a1
|
Call stack memory optimization
|
2024-01-12 20:52:30 +01:00 |
|
|
3e01978f22
|
Run tests with maximum optimization
|
2024-01-12 20:52:30 +01:00 |
|
|
66d86a1b6c
|
Fix dead code elimination optimization removes assignment on shadowing module constants
|
2024-01-12 20:52:30 +01:00 |
|
|
1abcffda5d
|
Fix optimization in use statement and match expression with _ matcher
|
2024-01-12 20:52:30 +01:00 |
|
|
94bbc05b93
|
Move optimization logic to OptimizationStage class, don't print summary
|
2024-01-12 20:52:30 +01:00 |
|
|
f0317c44c7
|
Use stages in programs test
|
2024-01-12 20:52:30 +01:00 |
|
|
ce14581bf4
|
Show linter results after validation
|
2024-01-12 20:52:30 +01:00 |
|
|
2578f0a6b4
|
Add parse errors formatter
|
2024-01-12 20:52:30 +01:00 |
|
|
0d820c8a91
|
Introduce stages for each main feature
|
2024-01-12 20:52:30 +01:00 |
|
|
ea38227b44
|
More informative parser errors with ranges, removed LexerException
|
2024-01-12 20:52:30 +01:00 |
|
|
923f0edbcb
|
Introduce DECIMAL_NUMBER token, fix HEX numbers with 'E' incorrectly treated as decimal
|
2024-01-12 20:52:30 +01:00 |
|
|
f6c3f3fe17
|
Constants access priority
|
2024-01-12 20:52:30 +01:00 |
|
|
cdf0219ca1
|
Add base type for exceptions
|
2024-01-12 20:52:30 +01:00 |
|
|
312a05576c
|
Use ranges in parser
|
2024-01-12 20:52:30 +01:00 |
|
|
da950f96c2
|
Better explaining parse errors
|
2024-01-12 20:52:30 +01:00 |
|
|
95d32a6c91
|
Use local variable for frequently used fields in Lexer
|
2024-01-12 20:52:30 +01:00 |
|
|
a87d5f7685
|
Added floating number scientific notation
|
2024-01-12 20:52:30 +01:00 |
|
|
2c0b19eb0a
|
More strict lexer, fixed HEX numbers and quote escaping
|
2024-01-12 20:52:30 +01:00 |
|
|
15c277d145
|
Use immutable map, fast skip whitespaces in lexer
|
2024-01-12 20:52:30 +01:00 |
|
|
7baf9f6fc8
|
Fix incorrect token positions in lexer
|
2024-01-12 20:52:30 +01:00 |
|
|
fc73bce943
|
Add columns in position information
|
2024-01-12 20:52:30 +01:00 |
|
|
99bdd1c953
|
Separate constants and functions in module, don't load it twice
|
2024-01-12 20:52:30 +01:00 |
|
|
6d0886316c
|
Fix use statement in programs
|
2024-01-12 20:52:30 +01:00 |
|
|
59f8c4109e
|
Simplify use statement to take variable WORD only arguments
|
2024-01-12 20:52:30 +01:00 |
|
|
cce75927b8
|
Change list pattern matcher behavior for single element
match [1] {
case [x]:
}
Before: x = [1]
After: x = 1
x will be the first (and single) value of an array
|
2024-01-12 20:52:30 +01:00 |
|
|
32bffaee86
|
Fix scope of foreach and match statements
v = 100
for v : [1] ..
v should be 1, not 100
|
2024-01-12 20:52:30 +01:00 |
|
|
b7c376f01f
|
Deprecate old Variables/Functions methods
|
2024-01-12 20:52:30 +01:00 |
|
|
b726a226b9
|
Use new switch and pattern matching, fix deprecations
|
2024-01-12 20:52:30 +01:00 |
|
|
fe39c1ac00
|
Define functions and constants in root scope
|
2024-01-12 20:52:30 +01:00 |
|