public PolishResult Run(OuterLexemes lexemes) { _i = 3; // skip program <program name> & delimiter _outerLexemes = lexemes; _labelNumber = 0; _labelAddresses.Clear(); ReversePolishNotation.Clear(); ParseStatementsList(); return(new PolishResult { ReversePolishNotation = ReversePolishNotation, Trace = Trace, LabelAddresses = _labelAddresses }); }