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
Tim Voronov
17a0778331
Refactor FOR
and WHILE
loop compilation to introduce labeled jumps, add LoopKind
distinction for ForIn
and ForWhile
loops, and improve loop operation consistency. Update integration and bytecode tests with new helper functions and scenarios.
2025-07-02 12:35:40 -04:00
Tim Voronov
714672ceb0
Refactor emitter and loop compilation to replace positional jumps with labeled jumps, improve label management, and optimize control flow handling. Update integration tests and add utility for safe function execution.
2025-07-01 17:34:48 -04:00
Tim Voronov
223c28aa6b
Remove outdated compiler benchmarks, refactor function registration in namespace, and migrate math stdlib functions to simplified argument handling. Add new benchmarks for function calls and sorting scenarios.
2025-06-30 17:02:09 -04:00
Tim Voronov
e09f981560
Refactor loop and dataset handling; introduce Patchx
method for emitter, add FindParent
to loop table, and update DISTINCT logic with nested loop support. Expand integration tests for DISTINCT scenarios.
2025-06-28 14:29:53 -04:00
Tim Voronov
7dbcc24e04
Add COUNT_DISTINCT
function to stdlib collections, update related integration tests, and refactor min
/max
calculation methods for clarity and consistency.
2025-06-27 14:42:47 -04:00
Tim Voronov
f48f819607
Remove obsolete TestCollectAggregateAdditional
test file, refactor aggregation logic with skipping empty accumulators, add Length
support to collectors and sorters, and update integration tests for grouping and array operations.
2025-06-27 13:47:00 -04:00
Tim Voronov
54c036e9c8
Remove unused HTML element attribute manipulation functionality, including attribute getters, setters, and related utility code, across drivers and stdlib.
2025-06-25 20:48:48 -04:00
Tim Voronov
e60a02ec12
Refactor loop aggregation logic; optimize destination register handling, adjust collector allocation, and improve resource management in nested aggregation scenarios. Update integration tests with consistent formatting for nested FOR
cases.
2025-06-25 16:23:39 -04:00
Tim Voronov
dd817e7115
Add nested FOR
loop integration tests with grouping and concatenated gender scenarios
2025-06-25 14:31:52 -04:00
Tim Voronov
8731b7d71f
Refactor loop and collect compilation; replace lc
and cc
parameters with c
for consistency, unify naming conventions across loop and collect compilers, and improve method clarity and readability.
2025-06-25 14:10:41 -04:00
Tim Voronov
b49c73250e
Add additional nested FOR
loop test cases with sorted concatenation
2025-06-25 11:35:16 -04:00
Tim Voronov
df45d13b56
Refactor loop and sort compilation; update loop position handling, improve dataset patching logic, and restructure nested sorting and collector workflows. Add integration tests for distinct and nested FOR
loops.
2025-06-25 11:21:18 -04:00
Tim Voronov
3433e3d4d1
Add new test case for grouping and aggregating values with calculated age ranges
2025-06-24 18:24:51 -04:00
Tim Voronov
f859c4ead7
Refactor collector and aggregator handling; add Get
and Close
methods to collectors and sorters, restructure aggregation logic with multi-argument support, and update loop compilation to optimize resource management and key-value integration
2025-06-24 18:19:22 -04:00
Tim Voronov
4de53a5665
Refactor loop compilation; update initialization logic for zero/one registers and adjust range iteration handling, restructure range iterator tests, and align imports for consistency
2025-06-19 19:52:10 -04:00
Tim Voronov
215501c78f
Refactor loop and collect compilation; introduce key-value pairs for collection, unify loop handling, restructure methods, and improve aggregation and grouping logic
2025-06-19 18:05:38 -04:00
Tim Voronov
4f59a07e99
Refactor loop sort compilation; restructure LoopSortCompiler
, introduce key-value pair handling for sort clauses, and improve sorting logic clarity
2025-06-19 16:57:19 -04:00
Tim Voronov
87ace590bf
Refactor loop compilation; introduce LoopSortCompiler
and LoopCollectCompiler
to unify sort and collect logic, restructure loop methods, and improve clarity
2025-06-19 16:54:13 -04:00
Tim Voronov
f3e660ed5e
Refactor collect compilation; rename grouping methods to unify collect logic and improve clarity
2025-06-18 17:29:05 -04:00
Tim Voronov
2e78bc4c64
Refactor collect handling; restructure group and aggregation logic, unify loop operations, and improve method clarity
2025-06-18 17:22:39 -04:00
Tim Voronov
16137db876
Refactor collect aggregation; improve loop handling, add initialization/binding methods, and restructure aggregation logic for grouped and global cases
2025-06-18 16:55:46 -04:00
Tim Voronov
8e3b250201
Refactor integration tests and imports; organize imports alphabetically, improve test structuring, and enable previously skipped test cases
2025-06-17 15:59:38 -04:00
Tim Voronov
54fa2a0d51
Refactor compiler tests and internals; introduce new base test utilities, replace and restructure integration tests, and update register and constant handling
2025-06-11 21:46:27 -04:00
Tim Voronov
1520861ea0
Refactor opcode handling; add string representation for Opcode to improve readability and debugging
2025-06-11 16:18:50 -04:00
Tim Voronov
7d317aca3c
Refactor compiler context; rename FuncContext to CompilerContext and update related references for improved clarity
2025-06-11 11:42:47 -04:00
Tim Voronov
b0158406da
Refactor compiler internals; rename files and update context usage for improved clarity and structure
2025-06-11 10:28:09 -04:00
Tim Voronov
775e24b5b2
Refactor compiler internals; rename files and update context usage for improved clarity and structure
2025-06-11 10:12:42 -04:00
Tim Voronov
09f47e66fc
Refactor compiler structure; move internal packages to core and update references
2025-06-11 10:00:57 -04:00
Tim Voronov
cf87b63720
Refactor compiler components; introduce CatchStack and enhance FuncContext for improved state management
2025-06-11 08:02:05 -04:00
Tim Voronov
fb26157bf5
Rename and refactor constants and loop management; introduce new context and update related structures
2025-06-09 21:23:51 -04:00
Tim Voronov
e7bf6de25f
Refactor register allocation and symbol management; introduce ConstantsPool for deduplication
2025-06-09 21:16:24 -04:00
Tim Voronov
11f493ef79
wip
2025-06-09 20:34:04 -04:00
Tim Voronov
8ba359166f
Refactor file structure and update import paths for consistency
2025-06-09 17:24:10 -04:00
Tim Voronov
0a007a36c3
Introduce CollectorType enumeration and refactor loop handling for aggregation support
2025-06-09 16:14:34 -04:00
Tim Voronov
f3fc807789
Refactor loop handling and introduce support for aggregation in COLLECT
clauses
...
Enhance loop processing with new aggregation support in `COLLECT` clauses. Introduce `emitCollectAggregator` for handling advanced accumulator logic. Optimize symbol scope management with new utility `DefineVariableInScope`. Skip outdated test cases and add support for aggregation operations such as `MIN` and `MAX` in tests.
2025-06-09 14:29:04 -04:00
Tim Voronov
889365c56f
Categorize and group opcodes; improve readability and maintainability of opcode.go
2025-06-06 16:38:07 -04:00
Tim Voronov
176fe8ce4f
Refactor collectors and sorters; introduce Transformers
...
Refactor `Collector` into `Transformer` for enhanced flexibility and modularity. Introduce `Sorter` and `MultiSorter` as specialized transformers to handle sorting operations. Streamline VM operations by replacing dataset-based methods with transformer logic. Add encoding/decoding utilities for multiple sorting directions. Optimize `Emit` logic and update related tests.
2025-06-06 16:34:20 -04:00
Tim Voronov
38625ad059
Refactor collectors and sorters; introduce Transformers
...
Refactor `Collector` into `Transformer` for enhanced flexibility and modularity. Introduce `Sorter` and `MultiSorter` as specialized transformers to handle sorting operations. Streamline VM operations by replacing dataset-based methods with transformer logic. Add encoding/decoding utilities for multiple sorting directions. Optimize `Emit` logic and update related tests.
2025-06-06 16:34:14 -04:00
Tim Voronov
24b9a7697b
Move compiler-related components to internal
package
...
Refactored the structure by relocating `compiler` elements into an `internal` package. Made `visitor` struct and methods exported for broader access. Added new utility methods in `Emitter` and `RegisterAllocator` to optimize functionality.
2025-06-06 11:19:29 -04:00