StackStack and CI Updates
This commit adds a new data type to the codebase. It organizes data into first in last out linked lists of first in last out linked lists. Hence the name: StackStack. This data type was made to represent frames of execution, where there there is a stack for each function call containing local variables and arguments. The following tertiary goals were also met: - no relocating of adjacent data on push or pop - no copying or cloning of contained data on modification or mutation - index access to all elements of all contained stacks starting with most recent insertions. There are operations to allocate a new stack on the stackstack and to deallocate the top stack on the stackstack. Additionally there are operations for pushing and popping from the top stack. Unit tests are added and CI is updated to include them. Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
parent
528a61749d
commit
a12d15b2cd
4 changed files with 248 additions and 12 deletions
|
|
@ -3,7 +3,8 @@ default:
|
|||
|
||||
stages:
|
||||
- build
|
||||
- test
|
||||
- test-frontend
|
||||
- test-backend
|
||||
|
||||
compile-library:
|
||||
stage: build
|
||||
|
|
@ -15,14 +16,22 @@ compile-decomposer:
|
|||
script:
|
||||
- cargo build --bin decomposer
|
||||
|
||||
unit-test-language-frontend:
|
||||
stage: test
|
||||
unit-test-lexer:
|
||||
stage: test-frontend
|
||||
script:
|
||||
- cargo test lexer
|
||||
|
||||
unit-test-parser:
|
||||
stage: test-frontend
|
||||
script:
|
||||
- cargo test parser
|
||||
|
||||
unit-test-number-package:
|
||||
stage: test
|
||||
stage: test-backend
|
||||
script:
|
||||
- cargo test number
|
||||
|
||||
unit-test-stackstack:
|
||||
stage: test-backend
|
||||
script:
|
||||
- cargo test stackstack
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue