path: root/parse/gram.y
AgeCommit message (Collapse)Author
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
2014-07-09Change syntax for tuples.Ori Bernstein
2014-06-06Remove unused keyword.Ori Bernstein
Yes. we have no bananas.
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-04-14Build the export list for traits correctly.Ori Bernstein
2014-03-05Prepare merging traits in preparation for exporting.Ori Bernstein
2014-02-26Add a back link for traits, instead of a bool.Ori Bernstein
This allows us to link the impls to the trait, look them up, and generate trait-local specialized names, instead of hoping that we can hack around the decl id and such when hashing.
2014-02-24Fix up visibility and merging of traits.Ori Bernstein
2014-02-24Rename ntraits for consistency.Ori Bernstein
It's counting traittab; name it ntraittab.
2014-02-24Remove unnecessary endline from trait defnOri Bernstein
This spurious endln was causing parses to fail when the trait proto wasn't followed by a blank line.
2014-02-20Traits specialize!Ori Bernstein
2014-02-20Unify the types for traits correctly.Ori Bernstein
2014-02-19Install trait funcs to symbol tables.Ori Bernstein