David Anderson
4ec992474e
Remove some heinous preprocessor directives.
...
Gone:
- #emit (bah-roken!)
- #pragma compress (useless)
- #pragma library (useless)
2015-01-03 11:41:37 -08:00
David Anderson
b607bfeca9
Reserve 'builtin' as a keyword.
2014-12-12 21:29:28 -08:00
David Anderson
afeae84340
Replace symbol proxies with type symbols.
...
Proxies were rather hacky and complicated, and only existed as a
workaround for oddities with constructors. This patch replaces them with
actual type symbols, a very tiny step to semantically getting rid of tags.
This greatly simplifies how we implement constructors, and paves the way
for using methodmap symbols in field expressions.
Since non-value symbols are new to spcomp1, we place a rather
pigeonholed check into primary() to make sure non-value symbols don't
escape into expressions.
2014-12-12 10:10:43 -08:00
David Anderson
0295f817b8
Allow int: and void: tags, but warn.
2014-12-10 02:36:30 -08:00
David Anderson
1ee3067575
Gracefully error on newly reserved keywords.
2014-12-09 23:18:11 -08:00
David Anderson
94bed806fe
Reserve many keywords.
2014-12-09 23:04:13 -08:00
David Anderson
9c98edd104
Rename "union" semantics to "typeset".
2014-12-09 22:36:42 -08:00
David Anderson
157549e119
Fix a bug where aliased constructors of nullable methodmaps could not be used.
2014-11-30 18:56:37 -08:00
David Anderson
9f5c8b60ae
Add a "new" keyword for constructing nullable methodmaps.
2014-11-30 18:38:26 -08:00
David Anderson
4bc7b9243a
Define 'this' as a keyword.
2014-11-09 13:01:35 -08:00
David Anderson
099f299113
Fix trailing commas in array literals changing the result of sizeof().
2014-11-08 23:15:23 -08:00
David Anderson
a8796543af
Use symbols for fatal errors and bump them by 20 slots.
2014-11-07 17:41:33 -08:00
David Anderson
d1aa9a3513
Merge branch 'calli-7'
2014-09-07 15:08:51 -07:00
David Anderson
a1b7c32b29
Add a "union" keyword to replace funcenum.
2014-08-28 14:02:08 -07:00
David Anderson
6db4f31a10
Remove weird tag flags.
2014-08-24 20:47:07 -07:00
David Anderson
0cf8eb2854
Fix Windows build more.
2014-08-22 21:07:49 -07:00
David Anderson
a09735a4c7
Remove SC_FUNC and SC_VDEFINE.
2014-08-22 00:53:47 -07:00
David Anderson
48d228e2b1
Port sc2 to C++.
2014-08-22 00:23:02 -07:00