diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-07-05 00:15:55 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-07-05 00:15:55 +0300 |
| commit | 5b8c61db1fcfaa9733a5287672faa93d0085d718 (patch) | |
| tree | 6b449549f0ad4382926b35ce04f1455d3e09313b | |
| parent | e82c73d2b57e58894d8c93fc720559df6392d58b (diff) | |
| download | bcgen-5b8c61db1fcfaa9733a5287672faa93d0085d718.tar.gz bcgen-5b8c61db1fcfaa9733a5287672faa93d0085d718.zip | |
make repo a bit cleaner
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | README.md | 29 | ||||
| -rwxr-xr-x | example/exec | bin | 93744 -> 0 bytes | |||
| -rw-r--r-- | rules.py | 4 |
4 files changed, 4 insertions, 30 deletions
@@ -1,2 +1,3 @@ gen/* *.o +example/exec @@ -1,29 +1,6 @@ # Byte code generator -Separate project for now, but essentially create a program that takes some input -(for example) -``` -addr(_GGG_) -{ - R0 = R1 + R2; - return NEXT_INSN; -} +A relatively simple script that generates pretty fast bytecode systems. +Relies on some non-standard C, but should in theory be completely portable. -addi(_GGi_) -{ - R0 = R1 + IMM; - return NEXT_INSN; -} - -beqi(RGi__) -{ - if (R0 == IMM) - return BRANCH; - - return NEXT_INSN; -} -``` - -and generates implementations with registers fixed and some kind of muxing -compilation functions that selects the correct implementation from some runtime -`compile_addr(1, 2, 3);`. +See `example` for how to use. diff --git a/example/exec b/example/exec Binary files differdeleted file mode 100755 index 2189325..0000000 --- a/example/exec +++ /dev/null diff --git a/rules.py b/rules.py deleted file mode 100644 index b0aabbf..0000000 --- a/rules.py +++ /dev/null @@ -1,4 +0,0 @@ -g = BCGen(r = 7, f = 6, head='gbreg_t t = 0;') -g.rule('addr', '_RRR__', 'R0 = R1 + R2;') -g.rule('addr_f', '_FFF__', 'F0 = F1 + F2;') -g.rule('bltr', 'rRR__I', 'if (R0 < R1) JUMP(IMM);') |
