path: root/parse/gram.y
AgeCommit message (Collapse)Author
2016-01-31Add support for generic impls.Ori Bernstein
You can now implement generic shit like iterators.
2016-01-26Remove the '$' shorthand for end of array.Ori Bernstein
2016-01-21Add labels before linking them up.Ori Bernstein
Forward jumps were broken since we were looking up labels before adding them. Oops.
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-20fix decl for with no cond and add more testsandrewc
2016-01-19fix #51, loops without cond stmtsandrewc
2016-01-13Require '->' to have an argumentandrewc
2015-12-21Fix missing ';' in grammar.Ori Bernstein
2015-12-15Keep a list of impls for a given type.Ori Bernstein
We want to know so we can unify in a post check.
2015-12-15Add support for traits with aux types.Ori Bernstein
This is not final syntax, but it seems to work.
2015-12-14Initial support for void as an expression.Ori Bernstein
2015-12-04Fix code formatting.Ori Bernstein
2015-11-28Remove makefile junk.Ori Bernstein
I was exploring code, and it slipped in.
2015-11-28Allow local type definitions within blocks.Ori Bernstein
2015-11-17MEGAPATCH: Tabification.Ori Bernstein
Tabs > spaces. By 4 spaces, to be precise. Let's use them.
2015-11-06Add support for '$' operator.Ori Bernstein
2015-09-26Make things that should be global global.Ori Bernstein
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-08-02Initial support for indexed initializers.Ori Bernstein
2015-07-31Fix benchmarks.Ori Bernstein
2015-07-24Replace snprintf with a variant that asserts when out of buffer.Ori Bernstein
Let's not happy silent truncate.
2015-07-05Add support for ignored function args.Ori Bernstein
2015-07-05Add proper support for a 'gap' variable.Ori Bernstein
'_' is now a reserved token.
2015-06-28Implement '__init__' functions.Ori Bernstein
2015-05-08Use before def checking is closer to working.Ori Bernstein
Reduce spurious errors.
2015-05-06More work towards getting undefined variables to be defined.Ori Bernstein
2015-04-29Add regex parsing to libregex.Ori Bernstein
I'd like to use the same regex parser for source indexing and parser generation.
2015-04-29Resolve the type on array indexes.Ori Bernstein
If we never used the type, we never resolved it, which means we never set the type on the literal. This can cause some potential type errors. This resolves the type when doing the substitutions, in case we didn't already get to it.
2015-03-19Generate type descriptions for various types.Ori Bernstein
On our way to sane printf()!
2015-03-10Implement type description dumping.Ori Bernstein
2015-03-09Make type substitution more robust.Ori Bernstein
Break out Tyname into Tygeneric and Tyname. Tygeneric acts like a function returning a fully substituted Tyname.
2015-02-20Allow unlengthed arrays within structs.Ori Bernstein
Added type[...] syntax to tell the compiler not to check the length of these arrays. The size of this array is 0, as far as the compiler is concerned. This is only allowed within structs. This allows us to do 2 things: - First, it allows us to handle the C idiom which puts a zero-length array at the end of a struct to store extra data, as follows: type trailing = struct length : byte data : byte[...] ;; - And, as a side effect, we can also fake out C style unions as follows: type withunion = struct a : foo[...] b : foo[...] c : foo[...] pad : byte[NBYTES] ;; This is ugly and error prone, and perhaps should be deprecated.
2015-01-25Allow trailing commas in seq literals.Ori Bernstein
struct foo = [.x=1,.y=2,.z=3,] now works.
2015-01-20Add missing stdarg.h includes.Ori Bernstein
2015-01-17Change biding of union constructors and casts.Ori Bernstein
2014-12-21Traits seem to be working. Whee!Ori Bernstein
2014-12-21Traits are more worky.Ori Bernstein
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-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-07Remove leftover grammar junk.Ori Bernstein
2014-10-07Start adding support for '$noret' attrOri Bernstein
This flags a function as non-returning.
2014-10-07Generalize grammar: specific attrs ar now lists.Ori Bernstein
2014-10-07Whitespace consistency fixes.Ori Bernstein
2014-10-05Add plan9 mkfiles and runtime.Ori Bernstein
2014-09-17Add support for 'pkglocal' keyword.Ori Bernstein
pkglocal makes the export only available within the package.
2014-07-15More debug logging.Ori Bernstein