Photon 1.0.0
Loading...
Searching...
No Matches
tokenizer_states.h
Go to the documentation of this file.
1// Copyright 2011 Google Inc. All Rights Reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Author: jdtang@google.com (Jonathan Tang)
16//
17// This contains the list of states used in the tokenizer. Although at first
18// glance it seems like these could be kept internal to the tokenizer, several
19// of the actions in the parser require that it reach into the tokenizer and
20// reset the tokenizer state. For that to work, it needs to have the
21// definitions of individual states available.
22//
23// This may also be useful for providing more detailed error messages for parse
24// errors, as we can match up states and inputs in a table without having to
25// clutter the tokenizer code with lots of precise error messages.
26
27#ifndef GUMBO_TOKENIZER_STATES_H_
28#define GUMBO_TOKENIZER_STATES_H_
29
30// The ordering of this enum is also used to build the dispatch table for the
31// tokenizer state machine, so if it is changed, be sure to update that too.
32typedef enum {
102
103#endif // GUMBO_TOKENIZER_STATES_H_
GumboTokenizerEnum
Definition tokenizer_states.h:32
@ GUMBO_LEX_TAG_NAME
Definition tokenizer_states.h:42
@ GUMBO_LEX_SCRIPT_ESCAPED
Definition tokenizer_states.h:54
@ GUMBO_LEX_BETWEEN_DOCTYPE_PUBLIC_SYSTEM_ID
Definition tokenizer_states.h:93
@ GUMBO_LEX_AFTER_DOCTYPE_PUBLIC_ID
Definition tokenizer_states.h:92
@ GUMBO_LEX_SELF_CLOSING_START_TAG
Definition tokenizer_states.h:75
@ GUMBO_LEX_RCDATA
Definition tokenizer_states.h:35
@ GUMBO_LEX_SCRIPT_LT
Definition tokenizer_states.h:49
@ GUMBO_LEX_DOCTYPE_SYSTEM_ID_SINGLE_QUOTED
Definition tokenizer_states.h:97
@ GUMBO_LEX_ATTR_VALUE_DOUBLE_QUOTED
Definition tokenizer_states.h:70
@ GUMBO_LEX_RAWTEXT_END_TAG_NAME
Definition tokenizer_states.h:48
@ GUMBO_LEX_RAWTEXT_LT
Definition tokenizer_states.h:46
@ GUMBO_LEX_SCRIPT_ESCAPED_START
Definition tokenizer_states.h:52
@ GUMBO_LEX_CHAR_REF_IN_RCDATA
Definition tokenizer_states.h:36
@ GUMBO_LEX_SCRIPT_END_TAG_OPEN
Definition tokenizer_states.h:50
@ GUMBO_LEX_CHAR_REF_IN_ATTR_VALUE
Definition tokenizer_states.h:73
@ GUMBO_LEX_SCRIPT_DOUBLE_ESCAPED_DASH_DASH
Definition tokenizer_states.h:63
@ GUMBO_LEX_SCRIPT_DOUBLE_ESCAPED
Definition tokenizer_states.h:61
@ GUMBO_LEX_SCRIPT_DOUBLE_ESCAPED_END
Definition tokenizer_states.h:65
@ GUMBO_LEX_COMMENT_END
Definition tokenizer_states.h:82
@ GUMBO_LEX_BEFORE_ATTR_NAME
Definition tokenizer_states.h:66
@ GUMBO_LEX_SCRIPT_ESCAPED_START_DASH
Definition tokenizer_states.h:53
@ GUMBO_LEX_AFTER_ATTR_NAME
Definition tokenizer_states.h:68
@ GUMBO_LEX_ATTR_VALUE_UNQUOTED
Definition tokenizer_states.h:72
@ GUMBO_LEX_BEFORE_DOCTYPE_PUBLIC_ID
Definition tokenizer_states.h:89
@ GUMBO_LEX_BEFORE_DOCTYPE_NAME
Definition tokenizer_states.h:85
@ GUMBO_LEX_SCRIPT
Definition tokenizer_states.h:38
@ GUMBO_LEX_SCRIPT_DOUBLE_ESCAPED_LT
Definition tokenizer_states.h:64
@ GUMBO_LEX_BOGUS_COMMENT
Definition tokenizer_states.h:76
@ GUMBO_LEX_CHAR_REF_IN_DATA
Definition tokenizer_states.h:34
@ GUMBO_LEX_MARKUP_DECLARATION
Definition tokenizer_states.h:77
@ GUMBO_LEX_AFTER_DOCTYPE_NAME
Definition tokenizer_states.h:87
@ GUMBO_LEX_AFTER_ATTR_VALUE_QUOTED
Definition tokenizer_states.h:74
@ GUMBO_LEX_SCRIPT_ESCAPED_DASH_DASH
Definition tokenizer_states.h:56
@ GUMBO_LEX_BEFORE_ATTR_VALUE
Definition tokenizer_states.h:69
@ GUMBO_LEX_ATTR_NAME
Definition tokenizer_states.h:67
@ GUMBO_LEX_SCRIPT_ESCAPED_END_TAG_OPEN
Definition tokenizer_states.h:58
@ GUMBO_LEX_RCDATA_END_TAG_OPEN
Definition tokenizer_states.h:44
@ GUMBO_LEX_END_TAG_OPEN
Definition tokenizer_states.h:41
@ GUMBO_LEX_AFTER_DOCTYPE_SYSTEM_ID
Definition tokenizer_states.h:98
@ GUMBO_LEX_DOCTYPE_NAME
Definition tokenizer_states.h:86
@ GUMBO_LEX_SCRIPT_END_TAG_NAME
Definition tokenizer_states.h:51
@ GUMBO_LEX_AFTER_DOCTYPE_PUBLIC_KEYWORD
Definition tokenizer_states.h:88
@ GUMBO_LEX_AFTER_DOCTYPE_SYSTEM_KEYWORD
Definition tokenizer_states.h:94
@ GUMBO_LEX_PLAINTEXT
Definition tokenizer_states.h:39
@ GUMBO_LEX_COMMENT_END_DASH
Definition tokenizer_states.h:81
@ GUMBO_LEX_DOCTYPE_SYSTEM_ID_DOUBLE_QUOTED
Definition tokenizer_states.h:96
@ GUMBO_LEX_CDATA
Definition tokenizer_states.h:100
@ GUMBO_LEX_SCRIPT_ESCAPED_END_TAG_NAME
Definition tokenizer_states.h:59
@ GUMBO_LEX_DOCTYPE
Definition tokenizer_states.h:84
@ GUMBO_LEX_RAWTEXT
Definition tokenizer_states.h:37
@ GUMBO_LEX_SCRIPT_DOUBLE_ESCAPED_DASH
Definition tokenizer_states.h:62
@ GUMBO_LEX_RCDATA_LT
Definition tokenizer_states.h:43
@ GUMBO_LEX_COMMENT_END_BANG
Definition tokenizer_states.h:83
@ GUMBO_LEX_COMMENT_START
Definition tokenizer_states.h:78
@ GUMBO_LEX_RAWTEXT_END_TAG_OPEN
Definition tokenizer_states.h:47
@ GUMBO_LEX_TAG_OPEN
Definition tokenizer_states.h:40
@ GUMBO_LEX_SCRIPT_DOUBLE_ESCAPED_START
Definition tokenizer_states.h:60
@ GUMBO_LEX_RCDATA_END_TAG_NAME
Definition tokenizer_states.h:45
@ GUMBO_LEX_BEFORE_DOCTYPE_SYSTEM_ID
Definition tokenizer_states.h:95
@ GUMBO_LEX_COMMENT_START_DASH
Definition tokenizer_states.h:79
@ GUMBO_LEX_DATA
Definition tokenizer_states.h:33
@ GUMBO_LEX_DOCTYPE_PUBLIC_ID_DOUBLE_QUOTED
Definition tokenizer_states.h:90
@ GUMBO_LEX_BOGUS_DOCTYPE
Definition tokenizer_states.h:99
@ GUMBO_LEX_SCRIPT_ESCAPED_DASH
Definition tokenizer_states.h:55
@ GUMBO_LEX_DOCTYPE_PUBLIC_ID_SINGLE_QUOTED
Definition tokenizer_states.h:91
@ GUMBO_LEX_COMMENT
Definition tokenizer_states.h:80
@ GUMBO_LEX_ATTR_VALUE_SINGLE_QUOTED
Definition tokenizer_states.h:71
@ GUMBO_LEX_SCRIPT_ESCAPED_LT
Definition tokenizer_states.h:57