internal object ExecuteExpression(ResourceSemantics semantics) { this.semantics = semantics; scanner.Next(); return(Expression().Value); }
//--------------------------------------------------------------- #endregion //--------------------------------------------------------------- //--------------------------------------------------------------- #region Methods //--------------------------------------------------------------- /// <summary> /// execute the script /// </summary> /// <returns>The variables, that were created during the execution of the script.</returns> public override Variables Execute() { ResourceSemantics semantics = new ResourceSemantics(this.Scanner); ((IResourceParser)this).Execute(semantics); return(semantics.GetVariables()); }
void IResourceParser.Execute(ResourceSemantics semantics) { // EBNF: Start = Expression this.semantics = semantics; scanner.Next(); Block(); if (scanner.TokenType != TokenType.EndOfScript) { throw new ParserException(scanner.FileName, scanner.Line, scanner.Column, "End of script wasn't reached!"); } }
internal void ExecuteSetIdents(ResourceSemantics semantics, out ParserValue obj, out string varName, out ParserValue indexer) { this.semantics = semantics; scanner.Next(); SetIdents(out obj, out varName, out indexer); }