public IdentifierAST ParseIdentifier() { if (Tok() != TokenType.String && Tok() != TokenType.QuotedString) { throw new Exception(GetErrorMsg()); } var ast = new IdentifierAST(); ast.value = Inc(); return(ast); }
public static PBXElementString ParseIdentifierAST(IdentifierAST ast, TokenList tokens, string text) { Token tok = tokens[ast.value]; string value; switch (tok.type) { case TokenType.String: value = text.Substring(tok.begin, tok.end - tok.begin); return(new PBXElementString(value)); case TokenType.QuotedString: value = text.Substring(tok.begin, tok.end - tok.begin); value = PBXStream.UnquoteString(value); return(new PBXElementString(value)); default: throw new Exception("Internal parser error"); } }