refactoring
[fedora-idea.git] / xml / impl / src / com / intellij / lexer / _OldXmlLexer.flex
blob965b0d654cab1075dbb2fb15acc7952170af8917
1  /* It's an automatically generated code. Do not modify it. */
2 package com.intellij.lexer;
4 import com.intellij.psi.tree.IElementType;
5 import com.intellij.psi.*;
6 import com.intellij.psi.xml.*;
8 %%
11    public _OldXmlLexer() {
12      this((java.io.Reader)null);
13    }
16 %unicode
17 %class _OldXmlLexer
18 %public
19 %implements FlexLexer
20 %function advance
21 %type IElementType
22 %eof{  return;
23 %eof}
25 %state DECL
26 %state DECL_ATTR
27 %state DECL_ATTR_VALUE_DQ
28 %state DECL_ATTR_VALUE_SQ
29 %state TAG_NAME
30 %state TAG_ATTRIBUTES
31 %state COMMENT
32 %state ATTRIBUTE_VALUE_START
33 %state ATTRIBUTE_VALUE_DQ
34 %state ATTRIBUTE_VALUE_SQ
35 %state PROCESSING_INSTRUCTION
36 %state DOCTYPE_MARKUP_STARTED
38 %state DOCTYPE
39 %state DOCTYPE_EXTERNAL_ID
40 %state DOCTYPE_MARKUP
41 %state DOCTYPE_MARKUP_DQ
42 %state DOCTYPE_MARKUP_SQ
43 %state CDATA
44 %state CONDITIONAL
45 %state DOCTYPE_COMMENT
47 ALPHA=[:letter:]
48 DIGIT=[0-9]
49 WS=[\ \n\r\t\f]
50 S={WS}+
52 TAG_NAME=({ALPHA}|"_"|":")({ALPHA}|{DIGIT}|"_"|":"|"."|"-")*
53 NAME=({ALPHA}|"_"|":")({ALPHA}|{DIGIT}|"_"|":"|"."|"-")*
54 NMTOKEN=({ALPHA}|{DIGIT}|"_"|":"|"."|"-")+
57 "<![CDATA[" {yybegin(CDATA); return XmlTokenType.XML_CDATA_START; }
58 <CDATA> "]]>"  {yybegin(YYINITIAL); return XmlTokenType.XML_CDATA_END; }
59 <CDATA> [^] {return XmlTokenType.XML_DATA_CHARACTERS; }
60 <CDATA> "<!--" { return XmlTokenType.XML_DATA_CHARACTERS; }
62 "<![" {yybegin(CONDITIONAL); return XmlTokenType.XML_CONDITIONAL_SECTION_START; }
64 <CONDITIONAL> "INCLUDE" { return XmlTokenType.XML_CONDITIONAL_INCLUDE; }
65 <CONDITIONAL> "IGNORE" { return XmlTokenType.XML_CONDITIONAL_IGNORE; }
66 "]]>" { yybegin(YYINITIAL); return XmlTokenType.XML_CONDITIONAL_SECTION_END; }
68 "&"{NAME}";" { return XmlTokenType.XML_ENTITY_REF_TOKEN; }
69 "%"{NAME}";" { return XmlTokenType.XML_ENTITY_REF_TOKEN; }
71 "&#"{DIGIT}+";" { return XmlTokenType.XML_CHAR_ENTITY_REF; }
72 "&#x"({DIGIT}|[a-fA-F])+";" { return XmlTokenType.XML_CHAR_ENTITY_REF; }
74 <YYINITIAL> "<?xml " { yybegin(DECL); return XmlTokenType.XML_DECL_START; }
76 <DECL> {NAME} { yybegin(DECL_ATTR); return XmlTokenType.XML_NAME; }
77 <DECL_ATTR> "=" { return XmlTokenType.XML_EQ;}
78 <DECL_ATTR> "'" { yybegin(DECL_ATTR_VALUE_SQ); return XmlTokenType.XML_ATTRIBUTE_VALUE_START_DELIMITER;}
79 <DECL_ATTR> "\"" { yybegin(DECL_ATTR_VALUE_DQ); return XmlTokenType.XML_ATTRIBUTE_VALUE_START_DELIMITER;}
80 <DECL_ATTR_VALUE_DQ> [^\"]* { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN;}
81 <DECL_ATTR_VALUE_SQ> [^']* { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN;}
82 <DECL_ATTR_VALUE_DQ> "\"" { yybegin(DECL); return XmlTokenType.XML_ATTRIBUTE_VALUE_END_DELIMITER;}
83 <DECL_ATTR_VALUE_SQ> "'" { yybegin(DECL); return XmlTokenType.XML_ATTRIBUTE_VALUE_END_DELIMITER;}
84 <DECL> "?>" { yybegin(YYINITIAL); return XmlTokenType.XML_DECL_END;}
85 <DECL> ">" { yybegin(YYINITIAL); return XmlTokenType.XML_BAD_CHARACTER;}
87 <YYINITIAL> "<!DOCTYPE" { yybegin(DOCTYPE); return XmlTokenType.XML_DOCTYPE_START; }
88 <DOCTYPE> "SYSTEM" { yybegin(DOCTYPE_EXTERNAL_ID); return XmlTokenType.XML_DOCTYPE_SYSTEM; }
89 <DOCTYPE> "PUBLIC" { yybegin(DOCTYPE_EXTERNAL_ID); return XmlTokenType.XML_DOCTYPE_PUBLIC; }
90 <DOCTYPE> {NAME} { return XmlTokenType.XML_NAME; }
91 <DOCTYPE_EXTERNAL_ID> "\""[^\"]*"\"" { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN;}
92 <DOCTYPE_EXTERNAL_ID> "'"[^']*"'" { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN;}
93 <DOCTYPE, DOCTYPE_EXTERNAL_ID,CONDITIONAL> "[" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_MARKUP_START;}
94 <DOCTYPE_MARKUP, YYINITIAL> "<!ELEMENT" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_ELEMENT_DECL_START;}
95 <DOCTYPE_MARKUP, YYINITIAL> "<!NOTATION" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_NOTATION_DECL_START;}
96 <DOCTYPE_MARKUP, YYINITIAL> "<!ATTLIST" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_ATTLIST_DECL_START;}
97 <DOCTYPE_MARKUP, YYINITIAL> "<!ENTITY" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_ENTITY_DECL_START;}
98 <DOCTYPE_MARKUP> "SYSTEM" { return XmlTokenType.XML_DOCTYPE_SYSTEM; }
99 <DOCTYPE_MARKUP> "PUBLIC" { return XmlTokenType.XML_DOCTYPE_PUBLIC; }
100 <DOCTYPE_MARKUP> "#PCDATA" { return XmlTokenType.XML_PCDATA;}
101 <DOCTYPE_MARKUP> "EMPTY" { return XmlTokenType.XML_CONTENT_EMPTY;}
102 <DOCTYPE_MARKUP> "ANY" { return XmlTokenType.XML_CONTENT_ANY;}
103 <DOCTYPE_MARKUP> "(" { return XmlTokenType.XML_LEFT_PAREN;}
104 <DOCTYPE_MARKUP> ")" { return XmlTokenType.XML_RIGHT_PAREN;}
105 <DOCTYPE_MARKUP> "?" { return XmlTokenType.XML_QUESTION;}
106 <DOCTYPE_MARKUP> "+" { return XmlTokenType.XML_PLUS;}
107 <DOCTYPE_MARKUP> "*" { return XmlTokenType.XML_STAR;}
108 <DOCTYPE_MARKUP> "%" { return XmlTokenType.XML_PERCENT;}
109 <DOCTYPE_MARKUP> "--" ([^\-]|(\-[^\-]))* "--" { yybegin(DOCTYPE_MARKUP_STARTED); yypushback(yylength()); }
110 <DOCTYPE_MARKUP_STARTED> "--" { yybegin(DOCTYPE_COMMENT); return XmlTokenType.XML_COMMENT_START;}
111 <DOCTYPE_COMMENT> ([^\-]|(\-[^\-]))* { return XmlTokenType.XML_COMMENT_CHARACTERS; }
112 <DOCTYPE_COMMENT> "--" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_COMMENT_END;}
113 <DOCTYPE_MARKUP> \| { return XmlTokenType.XML_BAR;}
114 <DOCTYPE_MARKUP> "," { return XmlTokenType.XML_COMMA;}
115 <DOCTYPE_MARKUP> "&" { return XmlTokenType.XML_AMP;}
116 <DOCTYPE_MARKUP> ";" { return XmlTokenType.XML_SEMI;}
117 <DOCTYPE_MARKUP> "#IMPLIED" { return XmlTokenType.XML_ATT_IMPLIED;}
118 <DOCTYPE_MARKUP> "#REQUIRED" { return XmlTokenType.XML_ATT_REQUIRED;}
119 <DOCTYPE_MARKUP> "#FIXED" { return XmlTokenType.XML_ATT_FIXED;}
120 <DOCTYPE_MARKUP> {NMTOKEN} { return XmlTokenType.XML_NAME;}
121 <DOCTYPE_MARKUP> ">" { return XmlTokenType.XML_TAG_END;}
122 <DOCTYPE_MARKUP> "]" { yybegin(DOCTYPE); return XmlTokenType.XML_MARKUP_END;}
123 <DOCTYPE_MARKUP> "\"" { yybegin(DOCTYPE_MARKUP_DQ); return XmlTokenType.XML_ATTRIBUTE_VALUE_START_DELIMITER; }
124 <DOCTYPE_MARKUP> "'" { yybegin(DOCTYPE_MARKUP_SQ); return XmlTokenType.XML_ATTRIBUTE_VALUE_START_DELIMITER; }
125 <DOCTYPE_MARKUP_DQ> "\"" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_ATTRIBUTE_VALUE_END_DELIMITER; }
126 <DOCTYPE_MARKUP_SQ> "'" { yybegin(DOCTYPE_MARKUP); return XmlTokenType.XML_ATTRIBUTE_VALUE_END_DELIMITER; }
127 <DOCTYPE_MARKUP_DQ> [^\"]+ { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN; }
128 <DOCTYPE_MARKUP_SQ> [^']+ { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN; }
129 <DOCTYPE,DOCTYPE_EXTERNAL_ID> ">" { yybegin(YYINITIAL); return XmlTokenType.XML_DOCTYPE_END; }
131 <YYINITIAL> "<?" { yybegin(PROCESSING_INSTRUCTION); return XmlTokenType.XML_PI_START; }
132 <PROCESSING_INSTRUCTION> "?>" { yybegin(YYINITIAL); return XmlTokenType.XML_PI_END; }
133 <PROCESSING_INSTRUCTION> [^] { return XmlTokenType.XML_PI_TARGET; }
135 <YYINITIAL,TAG_NAME,TAG_ATTRIBUTES,ATTRIBUTE_VALUE_START,ATTRIBUTE_VALUE_DQ,ATTRIBUTE_VALUE_SQ>"<" { yybegin(TAG_NAME); return XmlTokenType.XML_START_TAG_START; }
136 <YYINITIAL,TAG_NAME,TAG_ATTRIBUTES,ATTRIBUTE_VALUE_START,ATTRIBUTE_VALUE_DQ,ATTRIBUTE_VALUE_SQ>"</" { yybegin(TAG_NAME); return XmlTokenType.XML_END_TAG_START; }
139 <TAG_NAME> {TAG_NAME} { yybegin(TAG_ATTRIBUTES); return XmlTokenType.XML_TAG_NAME; }
141 <TAG_ATTRIBUTES> ">" { yybegin(YYINITIAL); return XmlTokenType.XML_TAG_END; }
142 <TAG_ATTRIBUTES> "/>" { yybegin(YYINITIAL); return XmlTokenType.XML_EMPTY_ELEMENT_END; }
143 <TAG_ATTRIBUTES> {NAME} { return XmlTokenType.XML_NAME; }
144 <TAG_ATTRIBUTES> "=" { yybegin(ATTRIBUTE_VALUE_START); return XmlTokenType.XML_EQ; }
146 <ATTRIBUTE_VALUE_START> ">" { yybegin(YYINITIAL); return XmlTokenType.XML_TAG_END; }
147 <ATTRIBUTE_VALUE_START> "/>" { yybegin(YYINITIAL); return XmlTokenType.XML_EMPTY_ELEMENT_END; }
148 <ATTRIBUTE_VALUE_START> "\"" { yybegin(ATTRIBUTE_VALUE_DQ); return XmlTokenType.XML_ATTRIBUTE_VALUE_START_DELIMITER; }
149 <ATTRIBUTE_VALUE_START> "'" { yybegin(ATTRIBUTE_VALUE_SQ); return XmlTokenType.XML_ATTRIBUTE_VALUE_START_DELIMITER; }
150 <ATTRIBUTE_VALUE_DQ> "\"" { yybegin(TAG_ATTRIBUTES); return XmlTokenType.XML_ATTRIBUTE_VALUE_END_DELIMITER; }
151 <ATTRIBUTE_VALUE_SQ> "'" { yybegin(TAG_ATTRIBUTES); return XmlTokenType.XML_ATTRIBUTE_VALUE_END_DELIMITER; }
152 <ATTRIBUTE_VALUE_DQ> [^\"] { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN; }
153 <ATTRIBUTE_VALUE_SQ> [^'] { return XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN; }
155 "<!--" { yybegin(COMMENT); return XmlTokenType.XML_COMMENT_START; }
156 <COMMENT> "-->" { yybegin(YYINITIAL); return XmlTokenType.XML_COMMENT_END; }
157 <COMMENT> ([^\-]|(-[^\-]))* { return XmlTokenType.XML_COMMENT_CHARACTERS; }
159 <YYINITIAL,DECL,DECL_ATTR,TAG_NAME,TAG_ATTRIBUTES,COMMENT,ATTRIBUTE_VALUE_START,
160  DOCTYPE,DOCTYPE_EXTERNAL_ID,DOCTYPE_MARKUP,CONDITIONAL>{S} { return XmlTokenType.XML_WHITE_SPACE; }
162 <YYINITIAL> [^<&] { return XmlTokenType.XML_DATA_CHARACTERS; }
164 [^] { return XmlTokenType.XML_BAD_CHARACTER; }