1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-12-23 23:34:07 +02:00

Commit Graph

  • a6a5c838cd Refactor error handling in VM operations (#830) next Tim Voronov 2025-09-11 17:46:58 -04:00
  • 74ddfc6a84 Refactor error handling: replace github.com/pkg/errors with built-in errors package and update related error formatting (#829) Tim Voronov 2025-09-11 16:46:57 -04:00
  • ba8f6f5ed1 Introduce memory management for function caching (#828) Tim Voronov 2025-09-11 16:37:04 -04:00
  • f1b994c65f Refactor function handling: rename functions, introduce FunctionsBuilder, and update related tests for improved clarity and consistency. Tim Voronov 2025-09-10 16:47:51 -04:00
  • a74ed8d6ba Refactor FOR-IN integration tests: improve formatting, add ignored variable case, and enhance test cases for arrays and objects handling. Tim Voronov 2025-09-04 20:55:44 -04:00
  • 0aa6d2f894 Enhance expression handling: introduce function call and member expression compilation, update parser rules, and improve test coverage for range expressions Tim Voronov 2025-09-04 20:38:06 -04:00
  • c12b7345dc Refactor loop handling: rename ForWhileLoop to WhileLoop, introduce DoWhileLoop, and update related test cases Tim Voronov 2025-09-04 20:23:53 -04:00
  • 10e9c47c90 Rename exec package to engine for improved clarity and consistency across the codebase Tim Voronov 2025-09-04 17:51:26 -04:00
  • eb1072b68d Refactor step loop handling: introduce increment/decrement tokens, enhance VM operand equality, update symbol table for local symbols, and replace obsolete test cases. (#825) Tim Voronov 2025-09-04 17:39:58 -04:00
  • 17cf97e4e8 Merge branch 'next' of github.com:MontFerret/ferret into next Tim Voronov 2025-09-04 16:07:30 -04:00
  • f455d14c7c Fix formatting issues and ensure newlines at end of files in step loop handling Tim Voronov 2025-09-04 16:07:19 -04:00
  • 7c7bd030d7 Expand FOR-WHILE-STEP syntax error test coverage (#822) Copilot 2025-09-04 15:54:55 -04:00
  • 9c33354a8c Next step loop aggr (#823) Tim Voronov 2025-09-04 15:51:39 -04:00
  • 4eca5844ed Fix internal panic in FOR-WHILE-STEP loop syntax error handling (#821) Copilot 2025-09-04 15:35:13 -04:00
  • cc1e55c37c Add comprehensive tests for remaining core components - KV, CatchStack, LoopTable, and Collectors copilot/fix-e7b64e39-b2b4-495a-9036-23f2e66ccd1b copilot-swe-agent[bot] 2025-09-03 21:59:37 +00:00
  • 81551f98d4 Add comprehensive tests for ScopeProjection and Emitter components copilot-swe-agent[bot] 2025-09-03 21:55:48 +00:00
  • 04b1f5bb75 Add comprehensive tests for ConstantPool, RegisterAllocator, and SymbolTable copilot-swe-agent[bot] 2025-09-03 21:50:31 +00:00
  • 4189056039 Initial plan copilot-swe-agent[bot] 2025-09-03 21:43:39 +00:00
  • 2ed23d1eea Finalize type tracking implementation and testing copilot/fix-c7b9f14a-7f69-4124-a64f-69ff192f26c6 copilot-swe-agent[bot] 2025-08-31 04:09:59 +00:00
  • 0b0ae377ab Implement type tracking for literal variable assignments copilot-swe-agent[bot] 2025-08-31 04:08:36 +00:00
  • c51332c765 Initial plan copilot-swe-agent[bot] 2025-08-31 03:47:50 +00:00
  • 86105a9a95 Add comprehensive test coverage to pkg/asm with 97.2% coverage copilot/fix-7fbe9659-9894-4347-9021-2881c6ba0de7 copilot-swe-agent[bot] 2025-08-31 03:25:27 +00:00
  • b387486cfb Initial plan copilot-swe-agent[bot] 2025-08-31 03:10:24 +00:00
  • 892b7f6ff5 Add syntax error handlers and user-friendly error messages for STEP loops (#817) Copilot 2025-08-29 12:33:23 -04:00
  • 26e4364e60 Add support for "FOR var = init WHILE condition STEP var = expr" syntax (#815) Copilot 2025-08-28 13:00:11 -04:00
  • 9fea09d5ae Update build configurations and add new tests for error handling functions Tim Voronov 2025-08-28 11:02:49 -04:00
  • 214baa9716 Replace ByteCodeCase with SkipByteCodeCase in aggregate and filter tests to temporarily disable tests Tim Voronov 2025-08-28 10:56:09 -04:00
  • a8c12a0733 Refactor error analyzer tests: clean up formatting and remove unnecessary whitespace Tim Voronov 2025-08-28 10:53:53 -04:00
  • 54852812f7 Merge branch 'next' of github.com:MontFerret/ferret into next Tim Voronov 2025-08-28 10:53:35 -04:00
  • ddb35bcae6 Remove compatibility layers and outdated tests for runtime and standard library, streamline namespace registration, and improve IO and datetime library handling. Tim Voronov 2025-08-28 10:53:29 -04:00
  • 263f7a1bbb Fix critical bugs and add comprehensive test coverage for pkg/compiler/internal/diagnostics (#814) Copilot 2025-08-28 10:50:46 -04:00
  • 2b30d9dcaa Fix week comparison bug and improve test coverage in datetime package (#813) Copilot 2025-08-28 10:24:49 -04:00
  • dc43f4d5cd Fix bugs and add comprehensive test coverage for pkg/stdlib/collections (#811) Copilot 2025-08-28 09:41:49 -04:00
  • fa7edc0d9f Fix bugs and add comprehensive test coverage for pkg/stdlib/io (91.5% coverage achieved) (#810) Copilot 2025-08-28 09:39:18 -04:00
  • 5971ac4a71 Fix bugs and add comprehensive test coverage for pkg/stdlib/objects (#809) Copilot 2025-08-27 21:50:57 -04:00
  • 1e5f0514bc Fix critical bugs and add comprehensive test coverage for pkg/runtime (#808) Copilot 2025-08-27 20:07:50 -04:00
  • f40d9844ff Fix bugs and add comprehensive test coverage in pkg/stdlib/math (#807) Copilot 2025-08-27 18:22:52 -04:00
  • b38083fa0d Fix bugs and add comprehensive test coverage in pkg/stdlib/path (#806) Copilot 2025-08-27 17:45:30 -04:00
  • c40a559603 Remove compatibility layers and outdated tests for runtime and standard library, streamline namespace registration, and improve IO and datetime library handling. (#805) Tim Voronov 2025-08-27 17:19:06 -04:00
  • 096570b03d Fix critical bugs and improve test coverage in pkg/stdlib/strings (#803) Copilot 2025-08-27 16:31:08 -04:00
  • cbd11f2ad4 Add missing test coverage, fix type assertion handling, and introduce AssertMeasurable in pkg/stdlib/testing (#801) Copilot 2025-08-27 16:06:30 -04:00
  • e0a1729a6e Add comprehensive test coverage and fix bounds checking bug in pkg/file (#802) Copilot 2025-08-27 13:41:00 -04:00
  • 053ed22ed3 Fix critical bugs in arrays module and add comprehensive test coverage (#800) Copilot 2025-08-26 21:09:14 -04:00
  • 6063ebd727 Fix critical bug in arrays.Append function and add missing unit tests (#799) Copilot 2025-08-26 20:18:47 -04:00
  • 29f127b0a7 Update CodeQL analysis workflow: upgrade actions versions, add ANTLR setup, and streamline steps for Go and Java environments. Tim Voronov 2025-08-26 19:59:45 -04:00
  • dabc2390dd Update ANTLR version in build configuration from 4.11.1 to 4.13.2 Tim Voronov 2025-08-26 19:53:13 -04:00
  • 280b9d986e Update Go version in build configuration and add E2E test steps Tim Voronov 2025-08-26 19:45:50 -04:00
  • cd98b730b9 Refactor execution engine: rename Engine to exec, update session and plan management, and enhance environment handling for improved query execution. Tim Voronov 2025-08-26 18:11:49 -04:00
  • c6ee039668 Refactor array and error handling: streamline array copy logic, update error handling for label marking, and improve validation checks for function parameters. Tim Voronov 2025-08-20 14:36:40 -04:00
  • c36de5d6cd Implement core engine and session management: add Engine, Plan, Result, and Session types for executing and managing Ferret queries. Tim Voronov 2025-08-20 14:01:14 -04:00
  • 1816d4b5d3 Refactor comparison operator names: rename OpNeq to OpNe and update related logic for consistency in comparison operations. Tim Voronov 2025-08-19 20:35:50 -04:00
  • b11d35d917 Implement array comparison operators: add ArrayAll, ArrayAny, and ArrayNone functions for enhanced array handling and comparison logic. Tim Voronov 2025-08-19 20:27:20 -04:00
  • c7f945f295 Refactor regex operator handling: rename OpRegexpPositive to OpRegexp for clarity and consistency in opcode definitions. Tim Voronov 2025-08-13 14:32:48 -04:00
  • eddb30f2df Enhance array and regex operator handling: implement negation logic for array and regex operators, improve error diagnostics for invalid regex expressions, and update opcode definitions for clarity. Tim Voronov 2025-08-13 14:31:34 -04:00
  • 7ac02f7951 Enhance diagnostics for incomplete FILTER clauses: add test case for missing boolean expression in FILTER statement to improve error clarity and coverage. Tim Voronov 2025-08-13 12:09:10 -04:00
  • 052beb2c51 Reorder syntax error matchers: move common error matcher to the correct position for improved error analysis Tim Voronov 2025-08-13 11:56:07 -04:00
  • 2e0a8b6d7c Enhance diagnostics for computed property expressions: improve error messages and hints for unclosed computed property expressions and invalid computed property syntax, and add comprehensive test cases for better clarity and coverage. Tim Voronov 2025-08-13 11:29:08 -04:00
  • b811f17f6a Add comprehensive tests for unclosed string literals: enhance diagnostics and error hints for various cases of unclosed strings, including single, double, and backtick quotes, to improve clarity and coverage. Tim Voronov 2025-08-12 13:38:15 -04:00
  • 3cd9c9a434 Enhance diagnostics for incomplete ternary expressions: improve error messages and hints for missing expressions after '?' and ':' in ternary operator, and add comprehensive test cases for better clarity and coverage. Tim Voronov 2025-08-12 13:18:49 -04:00
  • a12943633e Enhance diagnostics for unclosed string literals: improve error messages and hints for missing opening and closing quotes, and add comprehensive test cases for better clarity and coverage. Tim Voronov 2025-08-12 13:07:00 -04:00
  • 56acc48b9c Refactor common error handling: enhance diagnostics for unmatched syntax, improve error messages and hints for logical operators, string literals, and grouping expressions, and add comprehensive syntax error test cases for better clarity and coverage. Tim Voronov 2025-08-11 18:31:45 -04:00
  • 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. Tim Voronov 2025-08-10 12:30:07 -04:00
  • 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. Tim Voronov 2025-08-07 14:21:46 -04:00
  • 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. Tim Voronov 2025-08-06 18:14:42 -04:00
  • 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. Tim Voronov 2025-08-06 16:30:51 -04:00
  • 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. Tim Voronov 2025-08-06 14:53:51 -04:00
  • f520651b7a wip Tim Voronov 2025-08-06 13:16:26 -04:00
  • 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. Tim Voronov 2025-07-30 22:07:03 -04:00
  • 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. Tim Voronov 2025-07-30 20:41:41 -04:00
  • 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. Tim Voronov 2025-07-30 14:20:24 -04:00
  • d24fac821b Refactor compiler and error handling: introduce multi-error support, improve snippet generation, standardize error listener, update compiler context, and enhance test cases. Tim Voronov 2025-07-29 18:35:55 -04:00
  • 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. Tim Voronov 2025-07-29 14:04:48 -04:00
  • 4671a45951 Update FQL parser: regenerate parser with updated serialized ATN values. Tim Voronov 2025-07-26 22:05:33 -04:00
  • 1071b7ffc2 Add generated parser and listener code for FQL using ANTLR. Tim Voronov 2025-07-26 21:58:51 -04:00
  • 0ee8e0fcf6 Remove fql_lexer.go: delete unused generated lexer code from the parser package. Tim Voronov 2025-07-26 21:58:20 -04:00
  • 74f3452ec4 Refactor LoopCollectCompiler: simplify aggregation function call handling, optimize register allocation, streamline loop source setup, and update function arguments for consistency. Tim Voronov 2025-07-26 15:18:22 -04:00
  • 7039a97417 Update integration tests: replace SkipCaseArray and DebugCaseArray with CaseArray for consistency across test cases. Tim Voronov 2025-07-26 14:59:11 -04:00
  • 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. Tim Voronov 2025-07-26 14:55:53 -04:00
  • 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. Tim Voronov 2025-07-26 10:46:31 -04:00
  • 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 Tim Voronov 2025-07-26 10:28:01 -04:00
  • e619212ac6 Refactor LoopCollectCompiler: enhance COLLECT clause processing by improving aggregation and grouping handling, optimizing register usage, and updating projection logic. Tim Voronov 2025-07-26 10:22:33 -04:00
  • d7d25bb0b3 Refactor ExprCompiler to use variable name for symbol resolution and update integration tests by replacing SkipCaseArray and DebugCaseArray with CaseArray for consistency. Tim Voronov 2025-07-26 10:15:43 -04:00
  • 8aa36442e9 Fix for loop variable increment in loop_collect_agg.go, update test cases to replace SkipCaseArray with DebugCaseArray and DebugCaseArray with CaseArray. Tim Voronov 2025-07-25 09:54:28 -04:00
  • 81b7cfd2eb Refactor loop collection: enhance CollectorSpec with destination handling, streamline projection logic, improve aggregation handling, optimize register allocation, and update COLLECT integration tests. Tim Voronov 2025-07-25 09:50:56 -04:00
  • 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. Tim Voronov 2025-07-24 17:15:02 -04:00
  • 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. Tim Voronov 2025-07-21 22:01:03 -04:00
  • fa02a1fd19 Refactor loop collection logic: standardize collector type handling, update grouping initialization, optimize register allocation, improve selector variable compilation, and enhance COLLECT integration tests. Tim Voronov 2025-07-21 16:00:30 -04:00
  • 0210fef01e Merge branch 'next' into feat/next-drop-globals Tim Voronov 2025-07-21 11:51:58 -04:00
  • 99dbfe34a5 Refactor loop collection logic: improve grouping key compilation, restructure collector finalization, update grouping context handling, and optimize register allocation for COLLECT queries. Tim Voronov 2025-07-21 11:51:35 -04:00
  • 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. Tim Voronov 2025-07-21 11:28:32 -04:00
  • 2827103f1e Refactor loop projection logic: remove redundant loop parameter from projection functions, optimize group variable handling, and enhance integration tests for COLLECT queries. Tim Voronov 2025-07-14 12:21:20 -04:00
  • 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. Tim Voronov 2025-07-08 12:56:31 -04:00
  • 07a3eeaa37 Add unit tests to ForExpression (#791) master rikinyan 2025-07-09 01:34:19 +09:00
  • 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. Tim Voronov 2025-07-07 20:36:36 -04:00
  • 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. Tim Voronov 2025-07-07 18:03:19 -04:00
  • a575483d0d Validate program input in disassembler, add ErrInvalidProgram, and update opcode formatting for improved clarity. Tim Voronov 2025-07-07 16:29:18 -04:00
  • 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. Tim Voronov 2025-07-07 16:29:07 -04:00
  • 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. Tim Voronov 2025-07-07 13:29:50 -04:00
  • c6c1309264 Add panic recovery and disassembly output to integration test cases for better debugging of VM compilation errors. Tim Voronov 2025-07-07 11:49:29 -04:00
  • 924c5282cf Organize imports across integration and unit test files for consistent structure. Initialize functions map in SymbolTable safely and refactor disassembler label handling logic. Tim Voronov 2025-07-07 11:27:22 -04:00