arookas
f00b7c4296
Fixed: construct file instance with absolute path
...
Before it was set to the local name (from the import statement), and
then would fail because the code compares them to the full path later.
2016-02-01 06:23:31 -05:00
arookas
03fb7c20b4
Fixed: fully qualify the path
2016-02-01 06:21:01 -05:00
arookas
4d86f6449b
Normalize path delimiters
2016-02-01 06:17:22 -05:00
arookas
bb28e47117
Fixed: const callables still flagged expressions as dynamic
2016-02-01 06:02:21 -05:00
arookas
4aebe57432
Fixed: return null instead of throwing an exception
2016-02-01 05:51:04 -05:00
arookas
5292b55078
Fixed: default kept state between compilations
...
I know having a property return an instance every call is not a good
design. I get it.
2016-02-01 05:48:12 -05:00
arookas
8246538bbb
Ensure the seed is an integer
2016-02-01 05:44:29 -05:00
arookas
b71a38bb34
Fixed: use the current local number
2016-02-01 05:34:56 -05:00
arookas
7fca910e8e
Fixed: variables were always declared global
2016-02-01 05:34:22 -05:00
arookas
b3a347936e
Added modifier lists to AST
2016-02-01 05:03:44 -05:00
arookas
cf5915222e
Removed casting builtin properties
2016-02-01 05:03:18 -05:00
arookas
ec2162f752
Fixed: incorrect indices
2016-02-01 05:03:02 -05:00
arookas
3e0a2dc403
Fixed: removed cast keywords
2016-02-01 04:57:29 -05:00
arookas
25c3853309
Changed declare/define functions
2016-02-01 04:57:07 -05:00
arookas
6f74979d61
Gave sunIdentifier properties a consistent name
2016-02-01 04:56:22 -05:00
arookas
91588fae63
Fixed: builtins can't be local
2016-02-01 04:46:43 -05:00
arookas
f5af232ed4
Added modifier properties
2016-02-01 04:43:14 -05:00
arookas
780345863e
Added return value to WriteJmp
2016-02-01 04:41:06 -05:00
arookas
f8a945b757
Removed spaces from file names
2016-02-01 04:37:15 -05:00
arookas
7157e79e78
Cleanup
2016-02-01 03:27:32 -05:00
arookas
4999467b29
Made the state variable local
2016-02-01 03:27:16 -05:00
arookas
723b8b64c9
Moved int/float/typeof to the standard library
2016-02-01 03:26:44 -05:00
arookas
be73c33069
Moved the statement keywords to the start of their respective modifiers productions
2016-02-01 03:25:47 -05:00
arookas
228dc80a01
Call AnalyzeExpression directly
...
Felt like saving a stack frame. Micro optimizations FTW
2016-02-01 03:10:21 -05:00
arookas
1842a99954
Added modifiers property
2016-02-01 03:08:35 -05:00
arookas
d070143fba
Added local-keyword node
2016-02-01 01:40:30 -05:00
arookas
b57c70ee9d
Added callable/storable modifiers to grammar
...
Still gotta add logic for them in the compiler.
2016-02-01 01:36:13 -05:00
arookas
5fa362cac1
Cache GetId result
2016-02-01 01:33:39 -05:00
arookas
837b2f8c8d
Added null-check to GetId
...
Not the best fallback return value, but meh.
2016-02-01 01:32:09 -05:00
arookas
5483073347
Added local keyword
2016-02-01 01:28:00 -05:00
arookas
6f6306c064
Made try/catch release-only
...
This makes debugging a lot easier
2016-02-01 00:28:03 -05:00
arookas
9d6eb5a75c
Renamed GetReader to CreateReader
...
I feel this better documents what is actually happening (i.e. the reader
is not a cached value and is instead generated per call).
2016-02-01 00:26:50 -05:00
arookas
ebfa60f9ba
Cleanup
2016-02-01 00:25:49 -05:00
arookas
f2d46235ee
Fixed: importing didn't increment context locals
2016-02-01 00:24:16 -05:00
arookas
c0e747d2bd
Added local-scope for functions & script variables
...
Also moved name-mangling logic to its own function. Next, adding actual
support in the language.
2016-02-01 00:22:31 -05:00
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