Commit Graph

7 Commits

Author SHA1 Message Date
Chris Masone
8660c518db Add comments to NomDL
Both // and /* */ comments are supported, per your C/C++ expectations.

Closes issue #293
2015-09-15 16:42:04 -07:00
Chris Masone
e74897c418 Fix error message in grammar.peg 2015-09-15 09:16:08 -07:00
Chris Masone
b2f02c0405 Get rid of UnionKind
As arv pointed out, the parser should no longer generate TypeRefs
of UnionKind, so I made it stop doing that. Getting rid of UnionKind
has the side effect of making UnionDesc no longer capable of satisfying
TypeDesc, so one can no longer create a TypeRef that holds a UnionDesc.
That's correct for production, but I'd been using Field structs (which
contain a TypeRef) to define my test cases. Since I still need to test
that the parser correctly handles named union fields in structs, and
Field structs are no longer capable of expressing that, I needed to
create a new testField struct and some attendant types to allow me
to write all my test cases.
2015-09-15 09:12:46 -07:00
Chris Masone
d0340a1160 Make named union fields in structs syntactic sugar
Arv pointed out that there's really no difference between a named
union struct field and a struct field whose type is a struct that
contains only an anonymous union. This patch makes the parser replace
the TypeRef of UnionKind in each named union field with a TypeRef of
StructKind that contains only an anon union.

Fixes Issue #286
2015-09-14 16:31:35 -07:00
Chris Masone
24cfa4423c Go back to using []Field in struct definitions 2015-09-14 16:02:05 -07:00
Chris Masone
64b39a2715 Check for duplicate names in struct, union definitions
These should be disallowed, so disallow them. This also makes
us use a map for fields and choices, which is probably the right
way to store that information in Noms anyway. This patch means
we'll be on better footing for converting datastructures to Noms.

Towards issue #281
2015-09-14 10:58:44 -07:00
Chris Masone
d1fc897b28 Moved parser code to nomdl/parse 2015-09-11 17:08:33 -07:00