/*============================================================================= Copyright (c) 2001-2011 Hartmut Kaiser Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ #if !defined(BOOST_SPIRIT_CONJURE_TOKEN_IDS_HPP) #define BOOST_SPIRIT_CONJURE_TOKEN_IDS_HPP #include #include namespace client { namespace lexer { namespace lex = boost::spirit::lex; enum tokenids { ID_OP_OPERATOR = 0x10000, ID_OP_BINARY = 0x20000, ID_OP_UNARY = 0x40000, // the token ids (added values below) have to correspond to the // sequence numbers used in the ast::optoken enumeration ID_OP_LOGICAL_OR = (ID_OP_OPERATOR | ID_OP_BINARY) + 12, ID_OP_LOGICAL_AND = (ID_OP_OPERATOR | ID_OP_BINARY) + 13, ID_OP_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 17, ID_OP_NOT_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 18, ID_OP_LESS = (ID_OP_OPERATOR | ID_OP_BINARY) + 19, ID_OP_LESS_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 20, ID_OP_GREATER = (ID_OP_OPERATOR | ID_OP_BINARY) + 21, ID_OP_GREATER_EQUAL = (ID_OP_OPERATOR | ID_OP_BINARY) + 22, ID_OP_PLUS = (ID_OP_OPERATOR | ID_OP_UNARY | ID_OP_BINARY) + 25, ID_OP_MINUS = (ID_OP_OPERATOR | ID_OP_UNARY | ID_OP_BINARY) + 26, ID_OP_TIMES = (ID_OP_OPERATOR | ID_OP_BINARY) + 27, ID_OP_DIVIDE = (ID_OP_OPERATOR | ID_OP_BINARY) + 28, ID_OP_NOT = (ID_OP_OPERATOR | ID_OP_UNARY) + 35, ID_IDENTIFIER = ID_OP_OPERATOR + 100, ID_COMMENT, ID_WHITESPACE, ID_VOID_KWD, ID_INT_KWD, ID_IF_KWD, ID_ELSE_KWD, ID_WHILE_KWD, ID_RETURN_KWD, ID_UINT, ID_BOOL }; }} #endif