Commit graph

300 commits

Author SHA1 Message Date
arookas
32b716a3b9 Minor cleanup 2016-01-31 23:17:10 -05:00
arookas
e575a8a741 Refactored parameter/argument list productions
Now the ellipsis is validated at parse time directly in the grammar,
instead of in the sunParameterList constructor (possibly giving better
error messages). I was also able to remove the parameter/argument
transcient productions.
2016-01-31 23:13:09 -05:00
arookas
e57a55056b Tabbing 2016-01-31 21:32:41 -05:00
arookas
be3c2b1582 Removed useless header information 2016-01-31 21:31:43 -05:00
arookas
b0ad55a005 Changed how call sites are opened/closed.
Now builtin symbols also have call sites. I had to move the call-site
property out of the base class because builtins need to store
argument-count information as well.
2016-01-31 21:26:51 -05:00
arookas
b2330dfa6c Refactored break/continue compilation.
I didn't like the null overload usage. I might remove the overload
completely later.
2016-01-31 21:25:50 -05:00
arookas
eb3e679fc7 Complete overhaul of binary-writing system
- Merged sunWriter and binary-writing code from sunContext into
sunBinary
- Changed compilation functions to take sunCompiler instance instead of
a sunContext
- Completely removed links between context and binary
- Moved import logic to sunCompiler
- Made sunContext and sunBinary properties on sunCompiler so compilation
functions can access them
2016-01-31 20:03:12 -05:00
arookas
8f683d16a3 Moved system symbols to their own function 2016-01-31 14:57:08 -05:00
arookas
ca8f59dea2 Added RNG utility functions.
Intentionally did not import it in common.sun.
2016-01-31 14:32:36 -05:00
arookas
50348a9b47 Added SYS_SHINEGET and SYS_SHINENUM. 2016-01-31 14:29:41 -05:00
arookas
16cba6c798 Added position functions to sunWriter 2016-01-31 14:29:15 -05:00
arookas
6292c2f9c5 Added $switch system variable. 2016-01-29 21:56:49 -05:00
arookas
c87bad17d7 Added consume flags for loops
Obviously in preparation for switch statements.
2016-01-29 21:56:25 -05:00
arookas
758849cd17 Fixed: typo in builtin keyword 2016-01-29 21:54:25 -05:00
arookas
abd2bd5940 Added incSystemFlag and decSystemFlag. 2016-01-29 17:12:08 -05:00
arookas
35dc771a6d Added some system flag constants
Yea, I'll do more later...
2016-01-29 17:11:56 -05:00
arookas
2df6542eaf Added BGM constants 2016-01-29 17:11:27 -05:00
arookas
38633e742f Added more system builtins 2016-01-29 17:11:09 -05:00
arookas
a0cbd07a0f Added forceCloseTalk builtin 2016-01-29 17:10:48 -05:00
arookas
57ae25a57e Added sound-related builtins 2016-01-29 17:10:33 -05:00
arookas
d24894dd85 Added scene-related builtins 2016-01-29 17:10:04 -05:00
arookas
1824b97f98 Cleanup. 2016-01-29 17:08:55 -05:00
arookas
0a69d97dc3 Updated year in notice. 2016-01-29 17:07:55 -05:00
arookas
fcff623c29 Fixed: argument_list should not be transcient.
This caused errors in single-parameter function calls when expressions
had more than a single term.
2016-01-29 15:24:30 -05:00
arookas
7da7b611e0 Fixed: set mOutput, not mInput 2016-01-26 01:08:53 -05:00
arookas
e721b64045 Fixed: forgot to escape the n 2016-01-25 23:59:46 -05:00
arookas
1e8eb63f34 Fixed: write dest, not ofs 2016-01-23 01:36:27 -05:00
arookas
79e167da39 Fixed: var command didn't use WriteVar 2016-01-23 01:15:50 -05:00
arookas
15421158b7 Fixed: find variable symbol by data, not index 2016-01-23 00:58:56 -05:00
arookas
df827b5acd Added AddSystemVariable. 2016-01-09 20:09:12 -05:00
arookas
bd39fdf380 Minor rewording. 2016-01-09 20:08:37 -05:00
arookas
6b47a372ed Renamed sunLoop to sunLoopNode. 2016-01-09 20:08:10 -05:00
arookas
31adcc5d6c Made system builtins properties instead of an enum. 2015-12-31 05:49:29 -05:00
arookas
4365a6b894 Fixed: close all call sites. 2015-12-31 05:43:45 -05:00
arookas
2f5bb18948 Added sbdump to project list. 2015-12-30 22:29:02 -05:00
arookas
e45a9473f8 Added the sbdump project. 2015-12-30 22:28:52 -05:00
arookas
d56bd81a0a Added preliminary sbdump code. 2015-12-30 22:27:03 -05:00
arookas
9f8f21c7bf Changed how system builtins are initialized. 2015-12-28 23:27:17 -05:00
arookas
ed4822ee29 Moved dump and print to common.sun. 2015-12-28 23:24:08 -05:00
arookas
72ea2a031c Renamed sunWriter writing methods to match the command names in TSpcInterp. 2015-12-28 20:35:16 -05:00
arookas
2ce9882cad Moved name labels to the statement production. 2015-12-28 20:19:12 -05:00
arookas
649e01b7c5 Fixed: removed [name_label] from if_statement.
IDK how that got there lol
2015-12-28 20:18:43 -05:00
arookas
75be2d41c1 Added a name-label stack.
Not like it really needs to be a stack, but just in case.
2015-12-28 20:16:12 -05:00
arookas
a7da66f9a9 Added a parameterless overload to Push. 2015-12-28 20:15:12 -05:00
arookas
814282fa0d Fixed: prevent recursive const definitions and assert for actual constancy. 2015-12-28 14:31:51 -05:00
arookas
54bd3618e3 Added expression analysis.
Also gave the AST cast nodes a base class while I was at it.
2015-12-28 14:22:54 -05:00
arookas
6be1779781 Added an error for constant expressions. 2015-12-28 14:20:44 -05:00
arookas
5f3c86669b Changed break/continue error messages. 2015-12-28 14:19:14 -05:00
arookas
7c9aa8fe89 Cleanup. 2015-12-28 14:17:09 -05:00
arookas
6997b75403 Renamed AnalyzeExpression. 2015-12-28 13:15:13 -05:00