public static AttributeNode Parse(Lexer lex) { AttributeNode n = new AttributeNode(); lex.Dequeue(TokenType.LBracket); n.Identifier = TRefNode.Parse(lex); lex.Dequeue(TokenType.LParen); //TODO: Add parameter parsing lex.Dequeue(TokenType.RParen); lex.Dequeue(TokenType.RBracket); return(n); }
public static bool IsPresent(Lexer lex) { if (AttributeNode.IsPresent(lex)) { return(true); } var tkn = lex.Peek(); if (tkn.Type == TokenType.Keyword && tkn.Value == "public") { return(true); } if (ClassDefNode.IsPresent(lex)) { return(true); } if (StructDefNode.IsPresent(lex)) { return(true); } if (EnumDefNode.IsPresent(lex)) { return(true); } if (InterfaceDefNode.IsPresent(lex)) { return(true); } return(false); }