Commit Graph

60 Commits

Author SHA1 Message Date
cfreksen
457559458e
Add readme. 2017-10-30 17:09:16 +01:00
cfreksen
fed8e65afc
Add WIP setup.py file. 2017-10-30 05:30:46 +01:00
cfreksen
2834576683
Update gitignore to ignore files generated by setuptools. 2017-10-30 05:27:35 +01:00
cfreksen
7373d2cdc5
Add setuptools to requirements. 2017-10-30 05:25:53 +01:00
cfreksen
967f382bad
Rename llvm_emulator.py to emulator.py. 2017-10-30 05:04:44 +01:00
cfreksen
ffbdb98528
Move python files into a subdirectory. 2017-10-30 02:54:33 +01:00
cfreksen
3e809a9c30
Add blank lines to printout in auto-mode. 2017-10-30 02:36:10 +01:00
cfreksen
5198d44417
Implement more or less proper user interaction. 2017-10-30 02:31:29 +01:00
cfreksen
d63c5c1d05
Move some of the scaffolding into a more permanent function. 2017-10-30 01:55:57 +01:00
cfreksen
0536c7e683
Implement encoding LLVM strings. 2017-10-30 01:32:35 +01:00
cfreksen
7cd2560956
Implement global identifiers. 2017-10-30 01:09:36 +01:00
cfreksen
6f64647852
Update oper2s. 2017-10-30 00:58:21 +01:00
cfreksen
4d0d13359b
Fix small bug around null in parser. 2017-10-30 00:57:58 +01:00
cfreksen
397c144bba
Allocate globals. 2017-10-30 00:47:50 +01:00
cfreksen
2008b63919
Improve stringification of llvm AST nodes. 2017-10-30 00:47:20 +01:00
cfreksen
b6dafa24f1
Allow capital letters in hex escapes. 2017-10-30 00:15:07 +01:00
cfreksen
89439593e4
Handle getelementptr. 2017-10-30 00:00:56 +01:00
cfreksen
5fc3e23ae5
Improve presentation. 2017-10-30 00:00:35 +01:00
cfreksen
14d9215ac4
Fix missing module qualifier bug. 2017-10-29 22:31:52 +01:00
cfreksen
6398047e64
Try to solve the halting problem. 2017-10-29 22:31:07 +01:00
cfreksen
ce61eb151e
Handle load/store with null. 2017-10-29 22:03:31 +01:00
cfreksen
7deddce45d
Handle more types for Alloca. 2017-10-29 22:00:18 +01:00
cfreksen
5f7a5bf26c
Implement load. 2017-10-29 21:40:26 +01:00
cfreksen
f04d22c27e
Add size check to Store. 2017-10-29 21:34:12 +01:00
cfreksen
1dc258d26f
Rename field in ll.Load. 2017-10-29 21:33:29 +01:00
cfreksen
4fca74304a
Implement store. 2017-10-29 21:23:57 +01:00
cfreksen
dc1c38fbe2
Add Store case to insn2s. 2017-10-29 21:21:43 +01:00
cfreksen
46f5bf9fc7
Rename memory to heap. 2017-10-29 21:21:25 +01:00
cfreksen
6b6dd9cf68
Use more explicite garbage placholder value. 2017-10-29 21:10:22 +01:00
cfreksen
13017ef95b
Add alloca (for simple types). 2017-10-29 21:08:14 +01:00
cfreksen
648c718843
Add missing insn cases as TODOs. 2017-10-29 20:44:17 +01:00
cfreksen
0aa427ac02
Add function calls. 2017-10-29 20:39:58 +01:00
cfreksen
d48042b01e
Add bitcast. 2017-10-29 19:42:40 +01:00
cfreksen
b509ba2595
Add zext and ptrtoint. 2017-10-29 19:39:09 +01:00
cfreksen
4aeb986d75
Add conditional branching. 2017-10-29 19:28:28 +01:00
cfreksen
344609e54b
Print when evaluating terminators. 2017-10-29 19:15:27 +01:00
cfreksen
7213c32f93
Remove unused variable. 2017-10-29 19:01:29 +01:00
cfreksen
599dcf5919
Add the remaining comparisons for icmp. 2017-10-29 19:00:10 +01:00
cfreksen
636b1e5fa1
Improve some error messages. 2017-10-29 18:57:48 +01:00
cfreksen
d7598a0039
Add icmp for some comparisons. 2017-10-29 18:57:13 +01:00
cfreksen
138eb3fc72
Refactor handling of Ret. 2017-10-29 18:42:56 +01:00
cfreksen
a4885103c0
Add unconditional branching. 2017-10-29 18:42:38 +01:00
cfreksen
05782f6fca
Use a dictionary to store named blocks. 2017-10-29 18:23:12 +01:00
cfreksen
a7b3db8c1d
Add more cases for prettyprinting types. 2017-10-29 18:22:37 +01:00
cfreksen
05be04891b
Remove __main__ functionality from parser.py.
It was only there as scaffolding.
2017-10-29 18:05:59 +01:00
cfreksen
7319479e9a
Add more binops to stepper. 2017-10-29 16:02:00 +01:00
cfreksen
1c48ccb6c6
Add stepper skeleton. 2017-10-29 15:18:14 +01:00
cfreksen
1341911459
Add incomplete LLVM pretty printing. 2017-10-29 15:17:45 +01:00
cfreksen
1ffe310f97
Be more precise about operands in AST. 2017-10-29 14:20:12 +01:00
cfreksen
8128f72264
Update method names for parser and add 2 docstrings. 2017-10-29 13:58:59 +01:00