Tim Voronov
|
b69f8af716
|
Add syntax error tests for FOR loops and COLLECT statements: enhance diagnostics for missing values, incomplete clauses, and unexpected syntax to improve error handling and clarity.
|
2025-08-10 12:30:07 -04:00 |
|
Tim Voronov
|
f1dc2b12a1
|
Refactor error handling for LIMIT clause: enhance diagnostics for dangling commas, improve error messages and hints, and introduce common error matching logic for better clarity and maintainability.
|
2025-08-07 14:21:46 -04:00 |
|
Tim Voronov
|
d26988fb2d
|
Refactor error handling and diagnostics: enhance error messages for syntax errors, improve handling of extraneous input, and streamline error listener logic for better clarity and maintainability.
|
2025-08-06 18:14:42 -04:00 |
|
Tim Voronov
|
f4dab1e3a3
|
Refactor error handling for FOR and COLLECT statements: enhance error messages for missing variables, improve error span tracking, and streamline error analysis for better clarity and maintainability.
|
2025-08-06 16:30:51 -04:00 |
|
Tim Voronov
|
0edbdc6a1b
|
Refactor syntax error handling: enhance error analysis for FOR loops and return values, update error messages, and streamline matcher functions for improved clarity and maintainability.
|
2025-08-06 14:53:51 -04:00 |
|
Tim Voronov
|
f520651b7a
|
wip
|
2025-08-06 13:16:26 -04:00 |
|
Tim Voronov
|
57390fc901
|
Refactor error handling and token tracking: replace direct access of TokenHistory with TokenNode , introduce TokenNode struct, enhance TrackingTokenStream to improve token management, update error handling logic to leverage TokenNode traversal, and refine error messaging for syntax errors.
|
2025-07-30 22:07:03 -04:00 |
|
Tim Voronov
|
26fa6cd3c3
|
Refactor error handling: replace NewSyntaxError with a more comprehensive parseError method, improve syntax error parsing, introduce token tracking via TrackingTokenStream and TokenHistory , add SkipWhitespaceForward helper, update parser to support token stream transformations, and enhance error messaging across the compiler and test cases.
|
2025-07-30 20:41:41 -04:00 |
|
Tim Voronov
|
c24d802671
|
Refactor error handling: replace Location with Span , standardize error span processing across the compiler, remove unused location-related code, and update snippets and tests accordingly.
|
2025-07-30 14:20:24 -04:00 |
|
Tim Voronov
|
d24fac821b
|
Refactor compiler and error handling: introduce multi-error support, improve snippet generation, standardize error listener, update compiler context, and enhance test cases.
|
2025-07-29 18:35:55 -04:00 |
|
Tim Voronov
|
b2163ebc14
|
Add error handling and refactor compiler context: introduce error handling for variable declarations, update compiler context to use file source, and enhance error reporting for compilation issues.
|
2025-07-29 14:04:48 -04:00 |
|
Tim Voronov
|
4671a45951
|
Update FQL parser: regenerate parser with updated serialized ATN values.
|
2025-07-26 22:05:33 -04:00 |
|
Tim Voronov
|
1071b7ffc2
|
Add generated parser and listener code for FQL using ANTLR.
|
2025-07-26 21:58:51 -04:00 |
|
Tim Voronov
|
0ee8e0fcf6
|
Remove fql_lexer.go : delete unused generated lexer code from the parser package.
|
2025-07-26 21:58:20 -04:00 |
|
Tim Voronov
|
74f3452ec4
|
Refactor LoopCollectCompiler : simplify aggregation function call handling, optimize register allocation, streamline loop source setup, and update function arguments for consistency.
|
2025-07-26 15:18:22 -04:00 |
|
Tim Voronov
|
7039a97417
|
Update integration tests: replace SkipCaseArray and DebugCaseArray with CaseArray for consistency across test cases.
|
2025-07-26 14:59:11 -04:00 |
|
Tim Voronov
|
5185abd714
|
Refactor LoopCollectCompiler : replace CollectorSpec with Collector , improve grouping and aggregation handling, update emitter methods, standardize key loading logic, streamline function naming and argument handling, add Count function to collections, and enhance code comments for readability.
|
2025-07-26 14:55:53 -04:00 |
|
Tim Voronov
|
b65780acb6
|
Add comprehensive comments to ExprCompiler , LiteralCompiler , StmtCompiler , and WaitCompiler to improve code readability and maintainability. Document struct purposes, method parameters, return values, and inline explanations for complex sections consistently across the files.
|
2025-07-26 10:46:31 -04:00 |
|
Tim Voronov
|
43e47779a3
|
Add comprehensive comments to the file, following the same style as used in the other files:- Add a comment for the LoopCompiler struct explaining its purpose- Add comments for each method explaining what it does, its parameters, and return values- Add inline comments for complex code sections to explain the logic- Ensure comments are consistent with the style used in other files
|
2025-07-26 10:28:01 -04:00 |
|
Tim Voronov
|
e619212ac6
|
Refactor LoopCollectCompiler : enhance COLLECT clause processing by improving aggregation and grouping handling, optimizing register usage, and updating projection logic.
|
2025-07-26 10:22:33 -04:00 |
|
Tim Voronov
|
d7d25bb0b3
|
Refactor ExprCompiler to use variable name for symbol resolution and update integration tests by replacing SkipCaseArray and DebugCaseArray with CaseArray for consistency.
|
2025-07-26 10:15:43 -04:00 |
|
Tim Voronov
|
8aa36442e9
|
Fix for loop variable increment in loop_collect_agg.go , update test cases to replace SkipCaseArray with DebugCaseArray and DebugCaseArray with CaseArray .
|
2025-07-25 09:54:28 -04:00 |
|
Tim Voronov
|
81b7cfd2eb
|
Refactor loop collection: enhance CollectorSpec with destination handling, streamline projection logic, improve aggregation handling, optimize register allocation, and update COLLECT integration tests.
|
2025-07-25 09:50:56 -04:00 |
|
Tim Voronov
|
8c41c503a0
|
Refactor LoopCollectCompiler : replace aggregateSelector with core.AggregateSelector , introduce CollectorSpec struct, streamline grouping and aggregation handling, optimize register usage, finalize projection logic, update go.mod dependencies, and enhance integration tests for COLLECT queries.
|
2025-07-24 17:15:02 -04:00 |
|
Tim Voronov
|
0e02058703
|
Refactor ExprCompiler and LoopCollectCompiler : extract function name compilation logic, introduce aggregateSelector struct, improve aggregation handling with grouped and global selectors, optimize collector setup, and enhance loop processing.
|
2025-07-21 22:01:03 -04:00 |
|
Tim Voronov
|
fa02a1fd19
|
Refactor loop collection logic: standardize collector type handling, update grouping initialization, optimize register allocation, improve selector variable compilation, and enhance COLLECT integration tests.
|
2025-07-21 16:00:30 -04:00 |
|
Tim Voronov
|
0210fef01e
|
Merge branch 'next' into feat/next-drop-globals
|
2025-07-21 11:51:58 -04:00 |
|
Tim Voronov
|
99dbfe34a5
|
Refactor loop collection logic: improve grouping key compilation, restructure collector finalization, update grouping context handling, and optimize register allocation for COLLECT queries.
|
2025-07-21 11:51:35 -04:00 |
|
Tim Voronov
|
948b6b698e
|
Add tests for function calls and variable declarations: implement unit tests for function call behavior and variable handling in the compiler, enhancing test coverage and ensuring correctness.
|
2025-07-21 11:28:32 -04:00 |
|
Tim Voronov
|
2827103f1e
|
Refactor loop projection logic: remove redundant loop parameter from projection functions, optimize group variable handling, and enhance integration tests for COLLECT queries.
|
2025-07-14 12:21:20 -04:00 |
|
Tim Voronov
|
b0d89cc3b6
|
Refactor loop compilation: introduce ScopeProjection for improved scope management, optimize key/value variable handling, update scope packing/unpacking logic, enhance integration tests, and organize imports.
|
2025-07-08 12:56:31 -04:00 |
|
Tim Voronov
|
c3364ed4d8
|
Refactor LIST , MAP , and RANGE opcodes to LOADARRAY , LOADOBJECT , and LOADRANGE , update related emitter methods, adjust compiler logic for loop and scope handling, improve integration tests, and enhance disassembler output for updated opcodes.
|
2025-07-07 20:36:36 -04:00 |
|
Tim Voronov
|
2248f42c3e
|
Refactor namespaces and standard library integration: remove NamespaceContainer from compiler , migrate namespace logic to runtime , replace WithFunctions with new standard library helpers in tests, and improve error handling in function registration.
|
2025-07-07 18:03:19 -04:00 |
|
Tim Voronov
|
a575483d0d
|
Validate program input in disassembler , add ErrInvalidProgram , and update opcode formatting for improved clarity.
|
2025-07-07 16:29:18 -04:00 |
|
Tim Voronov
|
d39c5ce889
|
Refactor loop compilation to ensure scope management with EnterScope and ExitScope , update variable declaration for key/value names, and ensure compatibility with FOR-IN loops.
|
2025-07-07 16:29:07 -04:00 |
|
Tim Voronov
|
f20e75f1b1
|
Refactor loop initialization logic to include loop depth in label names, update operand formatting in disassembler , skip test cases using SkipCaseArray , and improve integration test coverage for nested FOR loops.
|
2025-07-07 13:29:50 -04:00 |
|
Tim Voronov
|
c6c1309264
|
Add panic recovery and disassembly output to integration test cases for better debugging of VM compilation errors.
|
2025-07-07 11:49:29 -04:00 |
|
Tim Voronov
|
924c5282cf
|
Organize imports across integration and unit test files for consistent structure. Initialize functions map in SymbolTable safely and refactor disassembler label handling logic.
|
2025-07-07 11:27:22 -04:00 |
|
Tim Voronov
|
8893605445
|
Refactor logical operator compilation (AND , OR ) to improve label usage and short-circuit evaluation, update label definitions in Emitter , enhance disassembler with function and label metadata, and implement function validation in vm .
|
2025-07-03 21:17:38 -04:00 |
|
Tim Voronov
|
09df483164
|
Refactor iterator-related opcodes (OpIterSkip , OpIterLimit ) to fix operand handling and label resolution in vm , emitter , and disassembler . Update instruction formatting and improve disassembler output.
|
2025-07-03 18:03:04 -04:00 |
|
Tim Voronov
|
a1e98c3c3c
|
Refactor logical operator compilation to optimize short-circuit evaluation, add assembly utilities (assembler and disassembler ), and migrate integration tests from bytecode to compiler package for improved organization.
|
2025-07-03 16:56:24 -04:00 |
|
Tim Voronov
|
ea827fc2f4
|
Refactor FOR-WHILE loop compilation to ensure proper LoopKind handling and value/key resolution, update map operations, and add integration tests for COLLECT scenarios.
|
2025-07-02 22:34:14 -04:00 |
|
Tim Voronov
|
0b528b62c0
|
Refactor FOR-WHILE loop compilation to ensure proper LoopKind handling and value/key resolution, update map operations, and add integration tests for COLLECT scenarios.
|
2025-07-02 21:14:33 -04:00 |
|
Tim Voronov
|
b3970fbb43
|
Add integration tests for FOR-WHILE loops with LIMIT scenarios and custom function usage
|
2025-07-02 20:02:37 -04:00 |
|
Tim Voronov
|
d2098cadb8
|
Refactor FOR-WHILE loop compilation to ensure compatibility with FOR-IN loops, update value register resolution, and add integration tests for sorting scenarios.
|
2025-07-02 16:33:50 -04:00 |
|
Tim Voronov
|
802672711e
|
Refactor FOR-IN loop cleanup handling; add conditional jump logic for custom iterators. Update integration test case to replace SkipCaseArray with CaseArray .
|
2025-07-02 14:46:24 -04:00 |
|
Tim Voronov
|
b66007e9c7
|
Migrate integration tests from bytecode to compiler package for improved structure and clarity.
|
2025-07-02 13:33:39 -04:00 |
|
Tim Voronov
|
74a2ced589
|
Introduce base utilities in integration tests for improved reuse and consistency. Refactor test cases to use base.Run and base.Exec . Add new shortcuts.go for shared helpers.
|
2025-07-02 13:31:02 -04:00 |
|
Tim Voronov
|
2f25e4e4be
|
Remove redundant base imports from integration tests and refactor usage of UseCase to TestCase for improved clarity and consistency.
|
2025-07-02 13:30:01 -04:00 |
|
Tim Voronov
|
b95d39a552
|
Refactor loop handling and RETURN statement compilation; enhance register assignment, optimize operand usage, and simplify integration test cases with new helpers and better error handling.
|
2025-07-02 12:54:01 -04:00 |
|