Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
f919750
refactor(ast): Move ast node subclasses into ast_nodes.py
MarcellPerger1 Jun 14, 2025
4d499d8
refactor(ast): Move FilteredWalker into own module
MarcellPerger1 Jun 14, 2025
1af4021
feat(ast-walker): Don't call more general walkers if skipped by a spe…
MarcellPerger1 Jun 14, 2025
664fe3e
perf(filtered-walker): Replace generator with listcomp, use __mro__ i…
MarcellPerger1 Jun 14, 2025
fff6268
feat(typecheck): Start typechecking (add statements this commit)
MarcellPerger1 Jun 14, 2025
5e37ec0
feat(typecheck): Finish typechecker (add expressions)
MarcellPerger1 Jun 15, 2025
878bee3
feat(typecheck): Better type formatting in error messages
MarcellPerger1 Apr 11, 2026
22a8a5b
refactor(cst): Remove unneeded cast
MarcellPerger1 Apr 11, 2026
fa6dee3
refactor(ast): Replace code with Pycharm-friendly version
MarcellPerger1 Apr 11, 2026
188fa54
refactor(cst): Improve type annotations a bit
MarcellPerger1 Apr 16, 2026
4263415
refactor(ast): Improve type alias placement?? Well, Pycharm likes it …
MarcellPerger1 Apr 16, 2026
4a95006
refactor(ast): Generic-based AstNode metadata in preparation for addi…
MarcellPerger1 Apr 23, 2026
32db947
feat(typecheck): Add types to AST in a rather clean way
MarcellPerger1 Apr 23, 2026
b545f05
refactor(types): Fix outdated type annotation
MarcellPerger1 Apr 23, 2026
b26f9a5
feat(typecheck+types): Add proper types for typed AST
MarcellPerger1 Apr 23, 2026
6f2092b
refactor(cst): Remove no-longer-needed cast
MarcellPerger1 Apr 24, 2026
af0257c
ci: Don't fail-fast (we need to know if it fails on just old versions…
MarcellPerger1 Apr 24, 2026
4505ce0
ci: Add Python 3.13 and 3.14 to testing matrix
MarcellPerger1 Apr 24, 2026
5f20c19
feat: Fix tree printing, massive refactor
MarcellPerger1 Apr 24, 2026
d51d535
test: Tests for tree printing
MarcellPerger1 Apr 24, 2026
cbb23c7
chore: Add note about broken `recursive_eq` function
MarcellPerger1 Apr 24, 2026
5845f28
refactor: Split monolithic typecheck.py into multiple modules
MarcellPerger1 Apr 27, 2026
90341f6
chore: Update fuzzing corpus
MarcellPerger1 Apr 27, 2026
aaa8b34
feat(tree-print): Make removing defaults more general
MarcellPerger1 Apr 27, 2026
a9562ef
chore: Update fuzzing corpus
MarcellPerger1 Apr 27, 2026
294b5e7
refactor: Move region display to str_region.py (rather than being in …
MarcellPerger1 Jun 30, 2026
e026641
test: Fix mocks that tried to replace old method
MarcellPerger1 Jul 1, 2026
c457895
test(name-resolve): Added more tests for name-resolve errors
MarcellPerger1 Jul 1, 2026
24f6fc5
test(name-resolver): Test the expected behaviour properly for redecla…
MarcellPerger1 Jul 1, 2026
945d9ef
test(name-resolver): More tests for the broken case [FAILING]
MarcellPerger1 Jul 1, 2026
e537a94
fix(util): Fix recursive_eq.py, document semantics better
MarcellPerger1 Jul 1, 2026
afa2e04
fix(name-resolve): Fix weird error region, fixes #75
MarcellPerger1 Jul 1, 2026
1ec208d
refactor: Move some files from root directory into own dirs
MarcellPerger1 Jul 1, 2026
5ea9397
fix: Fix detect_unused.sh
MarcellPerger1 Jul 1, 2026
1f3f6db
ci: Update CI with new moved script paths
MarcellPerger1 Jul 1, 2026
46fe54a
ci: Oops missed a script path update...
MarcellPerger1 Jul 1, 2026
edee23b
ci: Update gh actions to import scripts as module (saves us many head…
MarcellPerger1 Jul 1, 2026
b88c930
ci: Add light fuzzing on CI (should take around 10-15s)
MarcellPerger1 Jul 1, 2026
8696cd6
ci: Update actions versions
MarcellPerger1 Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/fuzzer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ jobs:
run: pip install -r requirements-dev.txt
- name: Run fuzzer (${{ inputs.iterations }} iterations)
run: |
python fuzz.py -n ${{ inputs.iterations }}
python -m scripts.fuzz -n ${{ inputs.iterations }}
17 changes: 12 additions & 5 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,24 @@ jobs:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Setup python ${{ matrix.py_version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.py_version }}
- name: Setup pythonfuzz
run: pip install -r requirements-dev.txt
- name: Run tests
run: |
chmod +x ./run_tests.sh
./run_tests.sh --verbose
./scripts/run_tests.sh --verbose
- name: Run mini-benchmark
run: |
python ./benchmark.py
python -m scripts.benchmark
# Just to detect ultra-obvious bugs that our tests missed
- name: Run quick fuzzing (20000 iterations)
run: python -m scripts.fuzz -n 20000
2 changes: 1 addition & 1 deletion .idea/inspectionProfiles/project_inspections.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion .idea/programming_lang_2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion detect_unused.sh

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading