diff options
Diffstat (limited to 'include/ixion/formula_opcode.hpp')
-rw-r--r-- | include/ixion/formula_opcode.hpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/include/ixion/formula_opcode.hpp b/include/ixion/formula_opcode.hpp new file mode 100644 index 0000000..1f3d71b --- /dev/null +++ b/include/ixion/formula_opcode.hpp @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef INCLUDED_IXION_FORMULA_OPCODE_HPP +#define INCLUDED_IXION_FORMULA_OPCODE_HPP + +namespace ixion { + +/** formula opcode type */ +enum fopcode_t +{ + fop_unknown = 0, + + // data types + fop_single_ref, + fop_range_ref, + fop_table_ref, + fop_named_expression, + fop_string, + fop_value, + fop_function, + + // arithmetic operators + fop_plus, + fop_minus, + fop_divide, + fop_multiply, + fop_exponent, + + // string operators + fop_concat, + + // relational operators + fop_equal, + fop_not_equal, + fop_less, + fop_greater, + fop_less_equal, + fop_greater_equal, + + // parentheses, separators + fop_open, + fop_close, + fop_sep, + fop_array_row_sep, + fop_array_open, + fop_array_close, + + // special conditions + fop_error, //< used to signify a special set of tokens representing formula cell with error. +}; + +} + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |