public override void Compile(sunCompiler compiler, sunStorableSymbol symbol, sunExpression expression) { symbol.CompileGet(compiler); expression.Compile(compiler); compiler.Binary.WriteSHR(); symbol.CompileSet(compiler); }
// system symbols void AddSystemSymbols() { // add system builtins Yield = AddSystemBuiltin("yield"); Exit = AddSystemBuiltin("exit"); Lock = AddSystemBuiltin("lock"); Unlock = AddSystemBuiltin("unlock"); // add system variables Switch = AddSystemVariable("switch"); // storage for switch statements }
public override void Compile(sunCompiler compiler, sunStorableSymbol symbol) { symbol.CompileDec(compiler); symbol.CompileSet(compiler); }
public abstract void Compile(sunCompiler compiler, sunStorableSymbol symbol);
public virtual void Compile(sunCompiler compiler, sunStorableSymbol symbol, sunExpression expression) { expression.Compile(compiler); symbol.CompileSet(compiler); }