blob: d460b32ba18a3d642387cedd52ee41a2c6f8dac3 [file] [log] [blame]
/*=============================================================================
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