public static IsDirective ( string id ) : bool | ||
id | string | |
return | bool |
int NextToken() { int c; sb.Length = 0; odds.Length = 0; while ((c = read_char()) != -1) { if (verbatim) { inTag = false; sb.Append((char)c); return(c); } if (inTag && expectAttrValue && (c == '"' || c == '\'')) { return(ReadAttValue(c)); } if (c == '<') { inTag = true; sb.Append((char)c); return(c); } if (c == '>') { inTag = false; sb.Append((char)c); return(c); } if (current_token == '<' && "%/!".IndexOf((char)c) != -1) { sb.Append((char)c); return(c); } if (inTag && current_token == '%' && "@#=".IndexOf((char)c) != -1) { sb.Append((char)c); return(c); } if (inTag && c == '-' && sr.Peek() == '-') { sb.Append("--"); read_char(); return(Token.DOUBLEDASH); } if (!inTag) { sb.Append((char)c); while ((c = sr.Peek()) != -1 && c != '<') { sb.Append((char)read_char()); } return((c != -1 || sb.Length > 0) ? Token.TEXT : Token.EOF); } if (inTag && current_token == '=' && !Char.IsWhiteSpace((char)c)) { return(ReadAttValue(c)); } if (inTag && is_identifier_start_character((char)c)) { sb.Append((char)c); while ((c = sr.Peek()) != -1) { if (!is_identifier_part_character((char)c) && c != ':') { break; } sb.Append((char)read_char()); } if (current_token == '@' && Directive.IsDirective(sb.ToString())) { return(Token.DIRECTIVE); } return(Token.IDENTIFIER); } if (!Char.IsWhiteSpace((char)c)) { sb.Append((char)c); return(c); } // keep otherwise discarded characters in case we need. odds.Append((char)c); } return(Token.EOF); }