1
1
Fork 0
mirror of https://github.com/azur1s/bobbylisp.git synced 2024-10-16 02:37:40 -05:00

Compare commits

...

2 commits

Author SHA1 Message Date
Natapat Samutpong fc4756d384 how works 😱 2022-03-13 13:05:50 +07:00
Natapat Samutpong 41dbd22442 makefile executable 2022-03-13 12:49:00 +07:00
2 changed files with 41 additions and 1 deletions

View file

@ -1,3 +1,9 @@
build-debug:
@echo "Building executable (debug)... done"
cargo build
cp ./target/debug/hazure ~/bin/hazure -r
@echo "Building executable (debug)... done"
build-lib:
@echo "Building lib..."
cp ./lib/. /usr/include/hazure/ -r

View file

@ -11,7 +11,7 @@ or with the pipe operator:
```sml
fun main: int = do
"Hello, World!\n"
|> @write();
|> @write(_);
return 69;
end;
```
@ -19,6 +19,40 @@ 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)
# 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
- `clang++`(preferred, default) or any C++ compiler
- `make` for Makefile