Commit Graph

397 Commits

Author SHA1 Message Date
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
3bed30ca59 Add syntax schema for Intellij Idea 2024-01-12 20:52:30 +01:00
22622b3013 Better container access formatting 2024-01-12 20:52:30 +01:00
ae94a1dc8a Show location of the closest error from call stack 2024-01-12 20:52:30 +01:00
e304aafedd Replace RuntimeException with OwnLangRuntimeException in modules 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
d643f596a8 [functional] Deny varargs input argument for stream 2024-01-12 20:52:30 +01:00
2de94d94d5 [functional] Unify functional operators 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
5dcf31c106 Remove unused methods in Scopes 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
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