Moved system symbols to their own function
This commit is contained in:
parent
ca8f59dea2
commit
8f683d16a3
1 changed files with 15 additions and 11 deletions
|
@ -61,6 +61,7 @@ namespace arookas {
|
||||||
mWriter = new aBinaryWriter(output, Endianness.Big, Encoding.GetEncoding(932));
|
mWriter = new aBinaryWriter(output, Endianness.Big, Encoding.GetEncoding(932));
|
||||||
Text = new sunWriter(mWriter);
|
Text = new sunWriter(mWriter);
|
||||||
mWriter.PushAnchor();
|
mWriter.PushAnchor();
|
||||||
|
AddSystemSymbols();
|
||||||
|
|
||||||
WriteHeader(); // dummy header
|
WriteHeader(); // dummy header
|
||||||
|
|
||||||
|
@ -68,17 +69,6 @@ namespace arookas {
|
||||||
mTextOffset = (uint)mWriter.Position;
|
mTextOffset = (uint)mWriter.Position;
|
||||||
mWriter.PushAnchor(); // match code offsets and writer offsets
|
mWriter.PushAnchor(); // match code offsets and writer offsets
|
||||||
|
|
||||||
// add system builtins
|
|
||||||
Yield = AddSystemBuiltin("yield");
|
|
||||||
Exit = AddSystemBuiltin("exit");
|
|
||||||
Lock = AddSystemBuiltin("lock");
|
|
||||||
Unlock = AddSystemBuiltin("unlock");
|
|
||||||
Int = AddSystemBuiltin("int");
|
|
||||||
Float = AddSystemBuiltin("float");
|
|
||||||
Typeof = AddSystemBuiltin("typeof");
|
|
||||||
|
|
||||||
// add system variables
|
|
||||||
Switch = AddSystemVariable("$switch"); // storage for switch statements
|
|
||||||
}
|
}
|
||||||
public void Close() {
|
public void Close() {
|
||||||
if (!mOpen) {
|
if (!mOpen) {
|
||||||
|
@ -233,6 +223,20 @@ namespace arookas {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// system symbols
|
||||||
|
void AddSystemSymbols() {
|
||||||
|
// add system builtins
|
||||||
|
Yield = AddSystemBuiltin("yield");
|
||||||
|
Exit = AddSystemBuiltin("exit");
|
||||||
|
Lock = AddSystemBuiltin("lock");
|
||||||
|
Unlock = AddSystemBuiltin("unlock");
|
||||||
|
Int = AddSystemBuiltin("int");
|
||||||
|
Float = AddSystemBuiltin("float");
|
||||||
|
Typeof = AddSystemBuiltin("typeof");
|
||||||
|
|
||||||
|
// add system variables
|
||||||
|
Switch = AddSystemVariable("$switch"); // storage for switch statements
|
||||||
|
}
|
||||||
sunCallableSymbol AddSystemBuiltin(string name) {
|
sunCallableSymbol AddSystemBuiltin(string name) {
|
||||||
var symbol = new sunBuiltinSymbol(name, SymbolTable.Count);
|
var symbol = new sunBuiltinSymbol(name, SymbolTable.Count);
|
||||||
SymbolTable.Add(symbol);
|
SymbolTable.Add(symbol);
|
||||||
|
|
Loading…
Reference in a new issue