summaryrefslogtreecommitdiff
path: root/parse/node.c
AgeCommit message (Collapse)Author
2019-04-12Rename traits correctly.Ori Bernstein
2019-03-03Give traits the necessary env.Ori Bernstein
2019-03-03Merge envs correctly.Ori Bernstein
Still a couple of straggling issues, but almost there.
2019-02-26Accept that `file` isn't a node.Ori Bernstein
Shrink node sizes, simplify code a bit.
2018-01-14Fix binding of type env in traits.Ori Bernstein
2017-10-29Fix traits when exported cross-namespaces.Ori Bernstein
2017-10-23Propagate hiddenness properly across usefile merges.Ori Bernstein
2017-10-21Set the ns on impl decls to match the impl ns.Ori Bernstein
2017-07-15Type binding refactoring now compiles.Ori Bernstein
Still a bit sloppy on a few things, needs some dedup work, but it's working.
2017-07-09Style(9)-ify.Ori Bernstein
2017-07-03Function args should go into the block stab.Ori Bernstein
Now we get errors if a function body shadows its args.
2017-01-02Fix clang warnings.Ori Bernstein
Apparently enums getting promoted to ints in va_start() is undefined behavior. This is stupid.
2016-06-17Allow implementing traits from other namespaces.Ori Bernstein
2016-05-08Fix FreeBSD and Linux builds.Ori Bernstein
2016-03-02Handle null and named array sizes for tyeq_recOri Bernstein
2016-02-26Fix some generated asm for plan9.Ori Bernstein
2016-02-22Extract util functions into separate dir from parse/Ori Bernstein
2016-01-20Add a distinction between label values and names.Ori Bernstein
This allows us to have labels work across scopes in assembly source.
2016-01-01Fix style.Ori Bernstein
2016-01-01Actually check array sizes when inferring.Ori Bernstein
2015-12-24Fix scoping issues.Ori Bernstein
2015-12-22Make traits work across files.Ori Bernstein
This bumps ABI, and contains a hack.
2015-12-15Add support for traits with aux types.Ori Bernstein
This is not final syntax, but it seems to work.
2015-12-15More fixes to void values.Ori Bernstein
We now unbreak varargs, and compare them correctly.
2015-12-14Initial support for void as an expression.Ori Bernstein
2015-11-17MEGAPATCH: Tabification.Ori Bernstein
Tabs > spaces. By 4 spaces, to be precise. Let's use them.
2015-11-06Rewrite pattern matching code.Ori Bernstein
Much cleaner, and more efficient.
2015-11-06Shuffle around functions.Ori Bernstein
Move some code into the frontend so the middle end can call it.
2015-09-24Put the closure at the function level.Ori Bernstein
2015-09-15Allow 'var' in loop statements.Ori Bernstein
2015-08-10Correctly dedup types in traits.Ori Bernstein
2015-07-09Refactor namespaces.Ori Bernstein
We no longer store subnamespaces in the stab node; now they're a part of the file.
2015-05-08Get closer to a working use-before-def check.Ori Bernstein
2015-01-06Improve error messages.Ori Bernstein
This involved lots of table changes.
2014-12-21Traits are more worky.Ori Bernstein
2014-12-21Make our type ids more stable across files.Ori Bernstein
Some sort of id string based on the actual type, not the hash of the string representation.
2014-12-20Tag exported symbols from traits.Ori Bernstein
We weren't treating them as exported, which caused errors when trying to import them, obviously.
2014-12-20Improve error reporting.Ori Bernstein
Double declarations now say where they were double declared.
2014-12-19Remove spare assert.Ori Bernstein
For now, it breaks things. It should probably go back eventually.
2014-12-18Get rid of the 'exports' stab.Ori Bernstein
This should simplify a number of chunks of code.
2014-12-13Add plan9 instruction formats.Ori Bernstein
Work towards a plan9 port. This commit also fixes a bug with strings that contain '\0'. The commits got tangled, and I'm too lazy to detangle them.
2014-10-15Add support for literal nodes in dtree.Ori Bernstein
2014-10-07Keep track of source files as well as line numbers.Ori Bernstein
This makes our error messages better *AND* makes it easier to provide good debug info later.
2014-10-07Add support for storing file ids.Ori Bernstein
2014-10-04Start work of porting to Plan 9.Ori Bernstein
We're missing getopt, but everything else seems to work as far as compiling goes. Remaining work: - Converting assembly syntax - Invoking plan9 executables correctly
2014-05-19Try to iterate over types.Ori Bernstein
Currently attempts to double specialize, but it's a step forward.
2014-05-15Actually write out impls to usefiles.Ori Bernstein
2014-03-05Prepare merging traits in preparation for exporting.Ori Bernstein
2014-02-14More work towards implementing traits.Ori Bernstein
2014-02-02Remove 'trait' node.Ori Bernstein
This should go in the types table, not in it's own AST node.