Beispiel #1
0
 void Parse_SyntaxDeclaration(Context& ctx)
 {
     if (ctx.Token() == TKKeywordSyntax)
     {
         //SyntaxDeclaration => KeywordSyntax Identifier EqualsCharacter SyntaxExpression SemicolonCharacter 
         ctx.Match(TKKeywordSyntax);
         ctx.Match(TKIdentifier);
         ctx.Action_SyntaxName();
         ctx.Match(TKEqualsCharacter);
         Parse_SyntaxExpression(ctx);
         ctx.Match(TKSemicolonCharacter);
         ctx.Action_TokenEnd();
     }
     else
     {
         assert(false);
     }
 }
Beispiel #2
0
void Parse_SyntaxDeclaration(Context& ctx)
{
    if (ctx.Token() == TKKeywordSyntax)
    {
        //SyntaxDeclaration => KeywordSyntax Identifier EqualsCharacter SyntaxExpression SemicolonCharacter
        ctx.Match(TKKeywordSyntax);
        ctx.Match(TKIdentifier);
        ctx.Action_SyntaxName();
        ctx.Match(TKEqualsCharacter);
        Parse_SyntaxExpression(ctx);
        ctx.Match(TKSemicolonCharacter);
        ctx.Action_TokenEnd();
    }
    else
    {
        throw ParserException(ctx.GetLine(), ctx.GetCol(), ErrorCodeUnexpectedToken);
    }
}