Commit Graph

429 Commits

Author SHA1 Message Date
368cc8612c Limit call stack function output length 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
39b94a0113 [files] Detailed error message for fopen 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
42e55bd4cc Add listing constants to REPL 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
90db2b0aa3 Fix concurrent modification exception in ounit, when new modules are loaded in test 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
589856fbf3 Fix url in image examples 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
2db88523bc Switch to ScopeHandler in modules 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
16de63f720 Add JMH benchmark for programs 2024-01-12 20:52:30 +01:00
fc1d8b4c75 Mark core as compileOnlyApi in module dependencies 2024-01-12 20:52:30 +01:00
a2549c3afe Switch to Java11+ features where possible 2024-01-12 20:52:30 +01:00
8ed89c8a9d Fix canvasfx module with Java FX 17 2024-01-12 20:52:30 +01:00
b88207175e Configure run tasks 2024-01-12 20:52:30 +01:00
0cdbbc1e8c Use separate dependency versions declaration 2024-01-12 20:52:30 +01:00
219d654fe5 Move classes to separate modules 2024-01-12 20:52:30 +01:00
3aedda0e93 Add multi-project structure 2024-01-12 20:52:30 +01:00
aa62b71520 Merge remote-tracking branch 'origin/latest' into latest 2023-08-12 23:59:25 +03:00
66140ace3f Gradle 8, Java 17+ 2023-08-12 23:58:11 +03:00
30f18ab053
Fix release link 2022-01-30 12:41:53 +02:00