| /*============================================================================= |
| 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 <boost/spirit/include/lex_lexertl.hpp> |
| #include <boost/spirit/include/lex_lexertl_position_token.hpp> |
| |
| 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 |
| |
| |