private static Parser <SyntaxToken, JassTypeSyntax> GetReferenceTypeParser() { return(OneOf( Keyword(SyntaxTokenType.HandleKeyword).ThenReturn(JassTypeSyntax.Handle), IdentifierNameParser.Map(id => new JassTypeSyntax(id.Name))) .Labelled("reference type")); }
private static Parser <char, JassTypeSyntax> GetTypeParser() { return(OneOf( Keyword("code").ThenReturn(JassTypeSyntax.Code), Keyword("handle").ThenReturn(JassTypeSyntax.Handle), Keyword("integer").ThenReturn(JassTypeSyntax.Integer), Keyword("real").ThenReturn(JassTypeSyntax.Real), Keyword("boolean").ThenReturn(JassTypeSyntax.Boolean), Keyword("string").ThenReturn(JassTypeSyntax.String), IdentifierNameParser.Map(id => new JassTypeSyntax(id.Name))) .Labelled("type")); }
private static Parser <SyntaxToken, JassTypeSyntax> GetTypeParser() { return(OneOf( Keyword(SyntaxTokenType.CodeKeyword).ThenReturn(JassTypeSyntax.Code), Keyword(SyntaxTokenType.HandleKeyword).ThenReturn(JassTypeSyntax.Handle), Keyword(SyntaxTokenType.IntegerKeyword).ThenReturn(JassTypeSyntax.Integer), Keyword(SyntaxTokenType.RealKeyword).ThenReturn(JassTypeSyntax.Real), Keyword(SyntaxTokenType.BooleanKeyword).ThenReturn(JassTypeSyntax.Boolean), Keyword(SyntaxTokenType.StringKeyword).ThenReturn(JassTypeSyntax.String), IdentifierNameParser.Map(id => new JassTypeSyntax(id.Name))) .Labelled("type")); }