-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite to use Aaron Hsu's Data-Parallel Architecture #76
Draft
A1Liu
wants to merge
9
commits into
main
Choose a base branch
from
rewrite
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Setting up a basic system, still incomplete, for a rewrite that may or may not finish successfully.
- AST based on the structure described in https://scholarworks.iu.edu/dspace/handle/2022/24749 , using [vickenty's implementation](https://github.com/vickenty/lang-c/) as a reference - Added some Visual Studio Code something or other because... idk - Rewrote some of the readme to be a lil bit cuter - Tiny version of macro expansion that just removes newlines - Added basic parser for simple stuff, which outputs nodes in post-fix order with parent indices.
- Separated WASM output into separate crate - Basic Playground - Easy to create errors - Easy to create a new kind of error - Error stack traces in debug mode
- AST printing - Slightly prettier playground - Error console formatting - Ok-ish error support in playground
- Added an index to `ErrorKind::Todo` - Added a pass to do declaration specifier checks - Created crate for test files with build script
- Deleted some old code - Moved C library code again - Moved test runner to the test crate - Moved lexer, macros, and parser to the `parser` module - Re-organize derived declarator system to be nested, so that it's easier to ride the parent-pointer chain to the declaration w/ the base type - Removed `print_err` from internals of `run_compiler`, and instead the full error gets returned to the `StageOutput` - Made `display_tree` accept `Vec<AstNode>` instead of `AstNodeVec` - Fixed `display_tree` to print roots in order instead of reversed order - Add basic type database system - Add types for AstDeclarator - Removed test running for projects that don't really do testing - Add type display for AST identifier nodes
- Add `AstNodeKind::ParamDecl` - Finish initial code for `validate_declarations` - Make type printing a little nicer - Make `Symbol` not an `enum` - Add `id` field to `Ast` and use it to write `rebuild_indices` function - "Parallelized" `validate_declarations`
- Add some basic int handling - Add walrus-based codegen, at least for now - Simplified `AstInterpretData` system - Removed `ByKindAst` stuffs - Added basic `int` parsing - Added some design notes
A1Liu
changed the title
Finished Rewrite
Rewrite to use Aaron Hsu's Data-Parallel Architecture
May 11, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
NOTE: MUST NOT SQUASH MERGE