mirror of
https://github.com/azur1s/bobbylisp.git
synced 2024-10-16 02:37:40 -05:00
Compare commits
No commits in common. "fc4756d384b47dbc6f36d9556bd5718f63be9eea" and "87d96378f4b02a9cc014a05cf0b07ad4de3349f3" have entirely different histories.
fc4756d384
...
87d96378f4
6
Makefile
6
Makefile
|
@ -1,9 +1,3 @@
|
||||||
build-debug:
|
|
||||||
@echo "Building executable (debug)... done"
|
|
||||||
cargo build
|
|
||||||
cp ./target/debug/hazure ~/bin/hazure -r
|
|
||||||
@echo "Building executable (debug)... done"
|
|
||||||
|
|
||||||
build-lib:
|
build-lib:
|
||||||
@echo "Building lib..."
|
@echo "Building lib..."
|
||||||
cp ./lib/. /usr/include/hazure/ -r
|
cp ./lib/. /usr/include/hazure/ -r
|
||||||
|
|
36
README.md
36
README.md
|
@ -11,7 +11,7 @@ or with the pipe operator:
|
||||||
```sml
|
```sml
|
||||||
fun main: int = do
|
fun main: int = do
|
||||||
"Hello, World!\n"
|
"Hello, World!\n"
|
||||||
|> @write(_);
|
|> @write();
|
||||||
return 69;
|
return 69;
|
||||||
end;
|
end;
|
||||||
```
|
```
|
||||||
|
@ -19,40 +19,6 @@ end;
|
||||||
|
|
||||||
Note: Everything in this project can be changed at anytime! (I'm still finding out what work best for lots of thing) if you have an idea, feel free to create an issues about it, or even create a PR! (I'd be very happy)
|
Note: Everything in this project can be changed at anytime! (I'm still finding out what work best for lots of thing) if you have an idea, feel free to create an issues about it, or even create a PR! (I'd be very happy)
|
||||||
|
|
||||||
# How it works
|
|
||||||
```sml
|
|
||||||
Source (.hz)
|
|
||||||
| crates/main
|
|
||||||
v
|
|
||||||
Lexer produce Token
|
|
||||||
| crates/lexer
|
|
||||||
v
|
|
||||||
Parser produce AST
|
|
||||||
| crates/parser
|
|
||||||
v
|
|
||||||
Diagnostic(Parsing)
|
|
||||||
| \ crates/diagnostic
|
|
||||||
| \
|
|
||||||
Pass Fail -> Print error -> Exit
|
|
||||||
|
|
|
||||||
v
|
|
||||||
Lowerer(?) produce HIR
|
|
||||||
| crates/hir
|
|
||||||
v
|
|
||||||
Diagnostic(Lowering)
|
|
||||||
| \ crates/diagnostic
|
|
||||||
v \
|
|
||||||
Pass Fail -> Print error -> Exit
|
|
||||||
|
|
|
||||||
v
|
|
||||||
Command Codegen produce C++
|
|
||||||
(spawn) | crates/codegen
|
|
||||||
| |
|
|
||||||
v v
|
|
||||||
clang++ -----*-----> Executable
|
|
||||||
(Command)
|
|
||||||
```
|
|
||||||
|
|
||||||
# Prerequistie
|
# Prerequistie
|
||||||
- `clang++`(preferred, default) or any C++ compiler
|
- `clang++`(preferred, default) or any C++ compiler
|
||||||
- `make` for Makefile
|
- `make` for Makefile
|
||||||
|
|
Loading…
Reference in a new issue