Eli Bendersky
54d82e9f37
Update to work with latest llvmlite, which needs LLVM 3.6
2015-07-15 05:48:21 -07:00
Eli Bendersky
f8002eb092
Switch to .get_global now once #42 is merged in llvmlite
2015-02-09 11:13:32 -08:00
Eli Bendersky
b280d52fed
Put the Mandelbrot sample in the README
2015-02-08 03:47:24 -08:00
Eli Bendersky
679e9ff3f7
Fall back to .globals.get because llvmlite pull request #42 wasn't merged.
...
Once it's merged I can switch back to the convenience get_global.
2015-02-08 03:46:36 -08:00
Eli Bendersky
77dae34cf1
Cosmetic fix in README
2015-02-08 03:41:32 -08:00
Eli Bendersky
588c310af4
A bit more cleanup
2015-02-04 16:25:40 -08:00
Eli Bendersky
7c7d2bc8e9
More cleanup + completeness mention in the README
2015-02-04 16:23:54 -08:00
Eli Bendersky
de4efda63c
Add .vimrc file. Some cleanup, formatting and comments
2015-02-04 16:19:15 -08:00
Eli Bendersky
824d7ecd44
Update the README to be actually useful
2015-02-04 16:10:32 -08:00
Eli Bendersky
a901694ba2
tests
2015-02-03 16:16:20 -08:00
Eli Bendersky
6da93ed87f
added tests
2015-02-01 16:15:23 -08:00
Eli Bendersky
73188b5200
Parsing var expressions
2015-02-01 09:52:30 -08:00
Eli Bendersky
b63f55ee97
Some modifications for emitting mutable alloca slots done
2015-02-01 07:05:28 -08:00
Eli Bendersky
b65b1c0c73
Changed API of Parser in all chapters to be consistent with the new one in 6
2015-01-31 13:02:59 -08:00
Eli Bendersky
f11cd1aecc
Codegen for unary, ifexpr bugfix, mandelbrot sample
2015-01-31 11:45:49 -08:00
Eli Bendersky
74aab348c3
Unary parsing working, with tests
2015-01-31 08:18:53 -08:00
Eli Bendersky
269803e7a6
Adding tests
2015-01-31 07:49:03 -08:00
Eli Bendersky
f4aca4a4d0
fix codegen for binary operators
2015-01-31 07:38:53 -08:00
Eli Bendersky
007606bc0d
Parsing user-defined binary ops & updating preference table.
2015-01-30 13:18:29 -08:00
Eli Bendersky
e1f14c98f5
workin' on chapter6
...
parsing of binary op definitions seems to be working
2015-01-30 11:33:39 -08:00
Eli Bendersky
bd02b838d3
_add_builtins to implement putchard() for the evaluator
2015-01-30 10:59:58 -08:00
Eli Bendersky
29ebf869cb
Codegen for 'for' seems to be working
...
Better testing will be available when mutable variables are introduced.
2015-01-30 06:33:35 -08:00
Eli Bendersky
0b061cbfd7
Parsing 'for' starting to work
2015-01-30 05:41:04 -08:00
Eli Bendersky
bf36953946
Added the ._match primitive to the parser to factor out common code.
...
Also, getting started on parsing 'for'
2015-01-30 05:26:20 -08:00
Eli Bendersky
a53b671201
IfExpr codegen working
2015-01-29 20:01:16 -08:00
Eli Bendersky
a1241876ba
Working on codegen for if nodes.
...
Need to motify the way BBs are created. I should create them with Block() and
only later insert them into the function with f.basic_blocks.append...
This ensures properly nested creation of BBs in case of nested conditionals,
the way it's done in the C++ code.
2015-01-29 09:54:22 -08:00
Eli Bendersky
cfc89428ef
Getting started on Chapter 5: parsing of ifexpr works
2015-01-29 09:18:38 -08:00
Eli Bendersky
1c1edbfada
Polishing
2015-01-29 08:55:28 -08:00
Eli Bendersky
04eaea9975
Some unit tests
...
+ fix TM ownership problem
2015-01-28 20:27:55 -08:00
Eli Bendersky
861d8e9c84
Added part 4 into chapter3and4.py
2015-01-28 16:54:53 -08:00
Eli Bendersky
92a2a95560
codegen working
2015-01-28 16:06:25 -08:00
Eli Bendersky
85da9dca2a
Starting codegen for chapter3
2015-01-28 11:43:35 -08:00
Eli Bendersky
19958d11c6
Fixups and a bunch more tests - parsing seems to be working now.
...
Removed debugging printouts.
2015-01-28 10:32:47 -08:00
Eli Bendersky
8937d8d40a
Parser shaping up
...
Some tests passing - still crufty with debugging printouts
2015-01-28 06:24:43 -08:00
Eli Bendersky
37b239ee0d
Parser is WIP
...
need to debug _parse_expression
2015-01-27 20:13:24 -08:00
Eli Bendersky
33cfaccf9e
rename README file for proper Github rendering
2015-01-27 15:51:58 -08:00
Eli Bendersky
b2ccbfb85c
part1 and README
2015-01-27 15:51:30 -08:00
Eli Bendersky
e7999a7842
Initial commit
2015-01-26 08:26:47 -08:00