Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 internal Token(HappySourceLocation loc, HappyTokenKind happyTokenKind, string text)
 {
     this.HappyTokenKind = happyTokenKind;
     this.Location = loc;
     this.Text = text;
 }
Exemplo n.º 3
0
 protected internal static void NextTokenAssert(Lexer lexer, HappyTokenKind expectedHappyTokenKind)
 {
     Token t = lexer.NextToken();
     Assert.AreEqual(expectedHappyTokenKind, t.HappyTokenKind, "Token Text:  {0}", t.Text);
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        bool EatNextTokenIf(HappyTokenKind tokenKind, out HappySourceLocation location)
        {
            if (_lexer.PeekToken().HappyTokenKind == tokenKind)
            {
                location = _lexer.NextToken().Location;
                return true;
            }

            location = HappySourceLocation.None;
            return false;
        }
Exemplo n.º 6
0
        bool EatNextTokenIf(HappyTokenKind tokenKind)
        {
            if (_lexer.PeekToken().HappyTokenKind == tokenKind)
            {
                _lexer.NextToken();
                return true;
            }

            return false;
        }
Exemplo n.º 7
0
 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;
 }