Neia Finch
e97c49fd49
Added some notes I had lying around
1 year ago
Neia Finch
22b0a46170
Parse slice expressions, at least a little
1 year ago
Neia Finch
402e5f49a0
Start on a runtime visitor
The runtime rewrite visitor lowers things into runtime calls.
1 year ago
Neia Finch
f022be1dcb
Visitors can scan types
1 year ago
Neia Finch
84e0fbee36
Default arguments are handled
1 year ago
Neia Finch
18a82a864b
Extern functions work!
Also I broke out the semantic visitors into their own modules because
they're kinda big, at least some of them.
1 year ago
Neia Finch
9baad87536
Some work toward supporting extern functions
1 year ago
Neia Finch
6b76dca307
Improved overload resolution and related errors
1 year ago
Neia Finch
12cb061735
Overloads kinda work?
1 year ago
Neia Finch
1de7665c1c
Cleanup with RewriteVisitor and a couple other things
Fixes #10
1 year ago
Neia Finch
97665270a0
Labeled break / continue!
1 year ago
Neia Finch
99ea390edd
Break/continue without labels works!
Fixes #7
1 year ago
Neia Finch
ed2f8510da
Fixed infinite loop with continue / break
1 year ago
Neia Finch
8526b1ae10
While loops work!
Fixes #6
1 year ago
Neia Finch
bde088b264
Fixed ifstmt jumps; work toward while loops
1 year ago
Neia Finch
985a29d674
Fixed duplicate test entries in testrunner index
1 year ago
Neia Finch
29cf64e708
Test runner: show diffs between revisions
1 year ago
Neia Finch
1347e3e959
Call functions and stuff!
1 year ago
Neia Finch
3dc5913cee
Implemented assignment; worked a bit on funcargs
1 year ago
Neia Finch
afe5f786fa
Backend can handle float literals
1 year ago
Neia Finch
8bc92e236c
Bool literals emitted properly
Fixed some indentation issues in html output
1 year ago
Neia Finch
625e3a14e2
Don't emit quite as many useless instructions
Also include LLVM disassembly in test output and don't try running the
executable if the compilation failed
1 year ago
Neia Finch
40aa25bc21
More tests for the test god!
1 year ago
Neia Finch
848a48570b
If statements seem to be handled!
1 year ago
Neia Finch
eb70bc95cc
Added array tests to semantic
This should let me split tracking for semantic and emitting
1 year ago
Neia Finch
c36f912000
Pretty graph for tests in the index page
1 year ago
Neia Finch
f8e6fe9605
Fixed some test output and test cases
1 year ago
Neia Finch
4c43c96e87
Casts work!
I also made the compiler print out LLVM verification failures (we still
have some) and fixed the syntax for all the `run` tests so their `main`
functions are properly declared.
1 year ago
Neia Finch
40e44661c0
Function error handling made more like it should be
I need to figure out how to get overloads to make the rest of the
function tests work.
1 year ago
Neia Finch
3cfc5ba2bb
Func arg type assignment
1 year ago
Neia Finch
971a3eb899
validate func args
1 year ago
Neia Finch
e19684198e
Function typechecking / assignment fixed
Also some nascent support for aggregate types and reduced debug logging
1 year ago
Neia Finch
d0e5970ed5
Forward references are caught!
1 year ago
Neia Finch
f2751afd9d
WIP tracking down some circular calls
1 year ago
Neia Finch
e8355f931f
Improved test output somewhat
1 year ago
Neia Finch
157c895cb4
Added a bunch of files that should have been here already
1 year ago
Neia Finch
7b2e7b82bb
Added llvm-d as submodule
1 year ago
Neia Finch
619d5ed71a
Fixed visitor trying to visit types; got objfile / exe output working
1 year ago
Neia Finch
c2f6750f14
More typechecking works, more compiling progress
Getting a segfault with alloca?
1 year ago
Neia Finch
a6dc5c870c
Fixed test runner handling of expected errors
1 year ago
Neia Finch
f87892e856
Added full range of integer types
1 year ago
Neia Finch
c9fd7bb456
Propagate location info more thoroughly
This is not 100% accurate, but it should hopefully be good enough?
1 year ago
Neia Finch
ba09c838be
Emitting code!
Well, a little, almost.
Also hooked up more type checking and made some more builtin types
explicit.
1 year ago
Neia Finch
7f31c8112c
Some work toward LLVM support
Cleaned up makefile handling of the bison generated parser
1 year ago
Neia Finch
579b51d019
All the tests seem to pass the parse stage!
1 year ago
Neia Finch
b09d67b357
Attributes decently well handled
1 year ago
Neia Finch
cf0de80203
Sudden jump to 39 successful tests!
1 year ago
Neia Finch
5669f5ee67
Bison is doing return values right
1 year ago
Neia Finch
f078aff5c2
More parsing!
Technically this is both parsing and assembling the AST.
1 year ago
Neia Finch
54f4fed6b5
Bison parser in the works!
It passes at least a few tests.
1 year ago