protected internal static Token NextTokenAssert(Lexer lexer, HappyTokenKind expectedHappyTokenKind, string expectedText) { Token t = lexer.NextToken(); Assert.AreEqual(expectedHappyTokenKind, t.HappyTokenKind, "Token Text: {0}", t.Text); Assert.AreEqual(expectedText, t.Text); return t; }
internal Token(HappySourceLocation loc, HappyTokenKind happyTokenKind, string text) { this.HappyTokenKind = happyTokenKind; this.Location = loc; this.Text = text; }
protected internal static void NextTokenAssert(Lexer lexer, HappyTokenKind expectedHappyTokenKind) { Token t = lexer.NextToken(); Assert.AreEqual(expectedHappyTokenKind, t.HappyTokenKind, "Token Text: {0}", t.Text); }
Token Expect(HappyTokenKind tokenKind, string whatWasExpected) { Token next = _lexer.NextToken(); if(next.HappyTokenKind == tokenKind) return next; _errorCollector.Expected(whatWasExpected, next); throw new AbortParseException(next.Location); }
bool EatNextTokenIf(HappyTokenKind tokenKind, out HappySourceLocation location) { if (_lexer.PeekToken().HappyTokenKind == tokenKind) { location = _lexer.NextToken().Location; return true; } location = HappySourceLocation.None; return false; }
bool EatNextTokenIf(HappyTokenKind tokenKind) { if (_lexer.PeekToken().HappyTokenKind == tokenKind) { _lexer.NextToken(); return true; } return false; }
Token AssertExpect(HappyTokenKind tokenKind) { Token next = _lexer.NextToken(); if (next.HappyTokenKind != tokenKind) throw new InternalSourceException(next.Location, "Assertion Failed: expected HappyTokenKind." + tokenKind + " but found HappyTokenKind." + next.HappyTokenKind); return next; }