-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update the whamm documentation (#174)
* update the README * high level pass at updating Rust mdbook * Flesh out the documentation * mark unfinished pages with TODO
- Loading branch information
1 parent
8f1d32a
commit 462e14f
Showing
33 changed files
with
500 additions
and
427 deletions.
There are no files selected for viewing
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
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
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# The `whamm!` CLI # | ||
|
||
TODO | ||
The CLI is defined using the `clap` Rust crate. |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Phase 2: Configure The `Whamm!` Core Library # | ||
|
||
TODO |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Phase 5: Emit # | ||
|
||
Here is documentation describing how we _emit_ `.mm` scripts. | ||
|
||
## Some Helpful Concepts ## | ||
|
||
**What is a `generator`?** | ||
A `generator` is used to traverse some representation of logic in an abstract way. | ||
It then calls the `emitter` when appropriate to actually emit the code in the target representation. | ||
|
||
**What is an `emitter`?** | ||
The `emitter` exposes an API that can be called to emit code in the target representation. | ||
There will be as many emitters as there are target representations supported by the language. | ||
|
||
## The Injection Strategies ## | ||
|
||
The code that is emitted, and the methodology in which emitting happens, depends on the injection strategy specified by the user. | ||
|
||
There are currently two supported injection strategies: | ||
1. [Bytecode Rewriting](./engine_target.md) | ||
2. Interfacing with an [engine](./rewriting_target.md) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Interfacing with an Engine # | ||
|
||
TODO |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,6 @@ | ||
# Error Handling # | ||
|
||
TODO | ||
Errors are added to `ErrorGen`, defined in [`error.rs`], and reported between compiler phases. | ||
If an error occurs during a compilation phase, the errors are reported and the compilation is aborted. | ||
|
||
[`error.rs`]: https://github.com/ejrgilbert/whamm/blob/master/src/common/error.rs |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Phase 4: AST Translation # | ||
|
||
TODO |
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
Oops, something went wrong.