Commit Graph

58 Commits

Author SHA1 Message Date
Eatswap d71ca134f2
fix: compile error under gcc 2022-12-13 19:01:30 +08:00
Eatswap 347d225794
feat: use GCC 2022-12-13 19:00:42 +08:00
Eatswap d225f6ee7f
fix: print result 2022-12-13 18:49:43 +08:00
Eatswap d3e248bfb2
fix: type not initialised 2022-12-13 18:49:14 +08:00
Eatswap e3ff931c5d
add: option to mute noisy debug info 2022-12-13 18:18:46 +08:00
Eatswap d079d8073c
remove: .clang-format 2022-12-13 17:55:21 +08:00
Eatswap 2d9499c0d1
fix: return-from 2022-12-13 17:53:49 +08:00
Eatswap 6787722945
fix: re-write loop to make it work 2022-12-13 17:03:36 +08:00
Eatswap 8367d5dd54
fix: introduce return-from 2022-12-13 17:02:57 +08:00
Eatswap 81add324bb
fix: loop does not eval, use accumulate instead of reduce 2022-12-13 15:50:10 +08:00
Eatswap cec9e7945c
fix: my bad interpreter 2022-12-13 15:49:26 +08:00
Eatswap 3547e58f2c
fix: NOT not correctly executed 2022-12-13 15:22:35 +08:00
Eatswap 266273963c
add: complete AST generation 2022-12-13 15:21:09 +08:00
Eatswap 4e9cae13ff
add: implemented AST eval 2022-12-13 13:06:39 +08:00
Eatswap 29f7667a20
fix: remove constant 2022-12-13 13:06:14 +08:00
Eatswap b2393f935f
fix: ArrayValue 2022-12-12 23:45:23 +08:00
Eatswap 74ad9cfe2c
add: get/set var 2022-12-12 23:25:31 +08:00
Eatswap 8be5386075
add: introduce AST 2022-12-12 23:20:25 +08:00
Eatswap aa457f917e
feat: use clang, C18, C++20 2022-12-12 23:20:04 +08:00
Eatswap 57033c3452
fix: remove redundant const 2022-12-12 23:18:39 +08:00
Eatswap 4bb8773d5d
fix: allow return from if, allow empty function arg list 2022-12-12 23:17:49 +08:00
Eatswap bc054afe82
feat: unused nonterminal 2022-12-12 22:04:11 +08:00
Eatswap b48a70d114
feat: add return stmt, removed func doc 2022-12-12 22:03:04 +08:00
Eatswap 7f79bd7768
feat: update token type for tokens 2022-12-12 21:40:03 +08:00
Eatswap e7256f0547
fix: token RETURN 2022-12-12 21:39:13 +08:00
Eatswap 568113ad84
fix: token T and NIL 2022-12-12 12:58:03 +08:00
Eatswap 72a5daf94a
refactor: non-generated files: .hh -> .h (2) 2022-12-12 11:00:55 +08:00
Eatswap f0a68d5eb7
refactor: non-generated files: .hh -> .h 2022-12-12 10:58:49 +08:00
Eatswap a529b6e3f6
fix: specify start, allow parse file as cmd arg 2022-12-11 20:20:49 +08:00
Eatswap 7f11aaf21e
fix: array ref as R-Value 2022-12-11 20:12:59 +08:00
Eatswap 8bec6e3f56
fix: cannot scan 0 as int 2022-12-11 20:11:17 +08:00
Eatswap 60b3da0087
fix: more, more strange lisp sample 2022-12-11 20:05:57 +08:00
Eatswap 159a28c9fb
fix: lexer regex 2022-12-11 20:04:48 +08:00
Eatswap 2e989a60a3
fix: shift/reduce conflict (2) 2022-12-11 19:57:34 +08:00
Eatswap 0096af85be
fix: shift/reduce conflict (1) 2022-12-11 19:54:56 +08:00
Eatswap 5d31db1584
fix: more strange Lisp example 2022-12-11 19:50:07 +08:00
Eatswap 9346a85884
fix: use R-values but not only S-Expr 2022-12-11 19:49:32 +08:00
Eatswap 0fb6c19e34
fix: mute bison for empty rules 2022-12-11 19:43:43 +08:00
Eatswap b9e173c39b
fix: complete tokens & syntax 2022-12-11 19:41:09 +08:00
Eatswap 92cc782c68
chore: update sample lisp file (2) 2022-12-11 19:21:26 +08:00
Eatswap ec8e8e2c32
chore: update sample lisp file 2022-12-11 19:20:07 +08:00
Eatswap b5c6d0ed87
fix: identifier-list 2022-12-11 18:30:15 +08:00
Eatswap ea7b3f9da5
fix: defun 2022-12-11 18:28:43 +08:00
Eatswap 6e9195c767
feat: function def 2022-12-11 17:57:42 +08:00
Eatswap e8d1b6dd63
fix: no spaces 2022-12-11 17:50:05 +08:00
Eatswap ecf948e382
add: more syntax 2022-12-11 13:37:02 +08:00
Eatswap e53f559f36
add: more token 2022-12-10 21:04:44 +08:00
Eatswap 079d40eef3
fix: comment (2) 2022-12-10 19:43:42 +08:00
Eatswap adbd4e3297
fix: comment 2022-12-10 19:38:32 +08:00
Eatswap 9ddc320442
feat: more keywords 2022-12-10 19:28:21 +08:00