Commit Graph

69 Commits

Author SHA1 Message Date
c2f797d431 Fix build 2024-08-15 23:17:43 +03:00
3eddbbcdef Fix this in non-static class methods 2024-08-10 23:51:19 +03:00
34490813a6 Optimize Lexer 2024-08-07 22:07:10 +03:00
ae42c0952a Ability to include from resources 2024-04-20 00:17:34 +03:00
fcb21f6e63 Show AST before and after optimization 2024-04-20 00:00:17 +03:00
7acad44211 Support for long number declaration 2024-02-10 23:30:37 +02:00
31945471dd Refactor ounit functions 2024-02-10 22:30:10 +02:00
f1772746cc Improve errors displaying for container expressions 2024-01-27 20:39:05 +02:00
5a533cc6e1 [functional] Add tomap, Stream::toMap, Stream::anyMatch, Stream::allMatch, Stream::noneMatch 2024-01-12 20:52:30 +01:00
6cdfd5173f Redeclare module versions 2024-01-12 20:52:30 +01:00
02fd959e58 Add new functions documentation 2024-01-12 20:52:30 +01:00
2fbd578b77 Preserve the order of Map elements by default 2024-01-12 20:52:30 +01:00
c3a893ea25 [functional] Add groupby and Stream.groupBy 2024-01-12 20:52:30 +01:00
7a64d7f99d Fix visitors skip class declaration 2024-01-12 20:52:30 +01:00
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