blob: ebc633d6796885770f1fceaa1ae9e63d3da4ffb5 [file] [log] [blame]
/*
* Copyright 2005 Sascha Weinreuter
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.intellij.lang.xpath;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.TokenSet;
public final class XPath2TokenTypes {
public static final IElementType COMMENT = new XPathElementType("COMMENT");
public static final IElementType END_COMMENT = new XPathElementType("END_COMMENT");
public static final IElementType SOME = new XPathElementType("SOME");
public static final IElementType EVERY = new XPathElementType("EVERY");
public static final TokenSet QUANTIFIERS = TokenSet.create(SOME, EVERY);
public static final IElementType IF = new XPathElementType("IF");
public static final IElementType THEN = new XPathElementType("THEN");
public static final IElementType ELSE = new XPathElementType("ELSE");
public static final IElementType FOR = new XPathElementType("FOR");
public static final IElementType RETURN = new XPathElementType("RETURN");
public static final IElementType IN = new XPathElementType("IN");
public static final IElementType SATISFIES = new XPathElementType("SATISFIES");
public static final IElementType TO = new XPathElementType("TO");
public static final IElementType IS = new XPathElementType("IS");
public static final IElementType BEFORE = new XPathElementType("BEFORE");
public static final IElementType AFTER = new XPathElementType("AFTER");
public static final IElementType IDIV = new XPathElementType("IDIV");
public static final IElementType UNION = new XPathElementType("UNION");
public static final IElementType QUEST = new XPathElementType("QUEST");
public static final IElementType INTERSECT = new XPathElementType("INTERSECT");
public static final IElementType EXCEPT = new XPathElementType("EXCEPT");
public static final TokenSet INTERSECT_EXCEPT = TokenSet.create(INTERSECT, EXCEPT);
public static final IElementType INSTANCE = new XPathElementType("INSTANCE");
public static final IElementType OF = new XPathElementType("OF");
public static final IElementType TREAT = new XPathElementType("TREAT");
public static final IElementType AS = new XPathElementType("AS");
public static final IElementType CAST = new XPathElementType("CAST");
public static final IElementType CASTABLE = new XPathElementType("CASTABLE");
public static final IElementType ITEM = new XPathElementType("ITEM");
public static final IElementType EMPTY_SEQUENCE = new XPathElementType("EMPTY_SEQUENCE");
public static final IElementType WEQ = new XPathElementType("WEQ"); // =
public static final IElementType WLE = new XPathElementType("WLE"); // <=
public static final IElementType WLT = new XPathElementType("WLT"); // <
public static final IElementType WGT = new XPathElementType("WGT"); // >
public static final IElementType WGE = new XPathElementType("WGE"); // >=
public static final IElementType WNE = new XPathElementType("WNE"); // !=
private static final TokenSet WORD_COMP_OPS = TokenSet.create(WEQ, WLE, WLT, WGT, WGE, WNE);
public static final TokenSet NODE_COMP_OPS = TokenSet.create(IS, BEFORE, AFTER);
public static final TokenSet COMP_OPS = TokenSet.orSet(XPathTokenTypes.REL_OPS, XPathTokenTypes.EQUALITY_OPS, WORD_COMP_OPS, NODE_COMP_OPS);
public static final TokenSet MULT_OPS = TokenSet.orSet(XPathTokenTypes.MUL_OPS, TokenSet.create(IDIV));
public static final TokenSet UNION_OPS = TokenSet.create(XPathTokenTypes.UNION, UNION);
public static final TokenSet OCCURRENCE_OPS = TokenSet.create(XPathTokenTypes.PLUS, XPathTokenTypes.STAR, QUEST);
public static final TokenSet BOOLEAN_OPERATIONS = TokenSet.orSet(XPathTokenTypes.BOOLEAN_OPERATIONS, COMP_OPS);
public static final TokenSet NUMBER_OPERATIONS = TokenSet.orSet(XPathTokenTypes.NUMBER_OPERATIONS, TokenSet.create(IDIV));
public static final TokenSet KEYWORDS = TokenSet.orSet(
WORD_COMP_OPS,
QUANTIFIERS,
INTERSECT_EXCEPT,
TokenSet.create(IF, THEN, ELSE, FOR, RETURN, IN, SATISFIES, TO, IDIV, UNION, IS, INSTANCE, OF, TREAT, AS, CAST, CASTABLE),
XPathTokenTypes.KEYWORDS);
private XPath2TokenTypes() {
}
}