diff options
Diffstat (limited to 'engines/glk/hugo/htokens.h')
-rw-r--r-- | engines/glk/hugo/htokens.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/engines/glk/hugo/htokens.h b/engines/glk/hugo/htokens.h new file mode 100644 index 0000000000..08961c7bc0 --- /dev/null +++ b/engines/glk/hugo/htokens.h @@ -0,0 +1,100 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef GLK_HUGO_HTOKENS +#define GLK_HUGO_HTOKENS + +namespace Glk { +namespace Hugo { + +/* + * This file contains token definitions for the Hugo Compiler and Engine + * The enum constants of type TOKEN_T reflect the token names given in the token array. + * Token names followed by a # are for system use. + */ + +/* i.e., highest numbered token */ +#define TOKENS 0x7B + +/* arbitrary */ +#define HASH_KEY 1023 + +enum TOKEN_T { + /* 0x00 - 0x0f */ + NULL_T, OPEN_BRACKET_T, CLOSE_BRACKET_T, DECIMAL_T, + COLON_T, EQUALS_T, MINUS_T, PLUS_T, + ASTERISK_T, FORWARD_SLASH_T, PIPE_T, SEMICOLON_T, + OPEN_BRACE_T, CLOSE_BRACE_T, OPEN_SQUARE_T, CLOSE_SQUARE_T, + + /* 0x10 - 0x1f */ + POUND_T, TILDE_T, GREATER_EQUAL_T, LESS_EQUAL_T, + NOT_EQUAL_T, AMPERSAND_T, GREATER_T, LESS_T, + IF_T, COMMA_T, ELSE_T, ELSEIF_T, + WHILE_T, DO_T, SELECT_T, CASE_T, + + /* 0x20 - 0x2f */ + FOR_T, RETURN_T, BREAK_T, AND_T, + OR_T, JUMP_T, RUN_T, IS_T, + NOT_T, TRUE_T, FALSE_T, LOCAL_T, + VERB_T, XVERB_T, HELD_T, MULTI_T, + + /* 0x30 - 0x3f */ + MULTIHELD_T, NEWLINE_T, ANYTHING_T, PRINT_T, + NUMBER_T, CAPITAL_T, TEXT_T, GRAPHICS_T, + COLOR_T, REMOVE_T, MOVE_T, TO_T, + PARENT_T, SIBLING_T, CHILD_T, YOUNGEST_T, + + /* 0x40 - 0x4f */ + ELDEST_T, YOUNGER_T, ELDER_T, PROP_T, + ATTR_T, VAR_T, DICTENTRY_T, TEXTDATA_T, + ROUTINE_T, DEBUGDATA_T, OBJECTNUM_T, VALUE_T, + EOL_T, SYSTEM_T, NOTHELD_T, MULTINOTHELD_T, + + /* 0x50 - 0x5f */ + WINDOW_T, RANDOM_T, WORD_T, LOCATE_T, + PARSE_T, CHILDREN_T, IN_T, PAUSE_T, + RUNEVENTS_T, ARRAYDATA_T, CALL_T, STRINGDATA_T, + SAVE_T, RESTORE_T, QUIT_T, INPUT_T, + + /* 0x60 - 0x6f */ + SERIAL_T, CLS_T, SCRIPTON_T, SCRIPTOFF_T, + RESTART_T, HEX_T, OBJECT_T, XOBJECT_T, + STRING_T, ARRAY_T, PRINTCHAR_T, UNDO_T, + DICT_T, RECORDON_T, RECORDOFF_T, WRITEFILE_T, + + /* 0x70 - */ + READFILE_T, WRITEVAL_T, READVAL_T, PLAYBACK_T, + COLOUR_T, PICTURE_T, LABEL_T, SOUND_T, + MUSIC_T, REPEAT_T, ADDCONTEXT_T, VIDEO_T +}; + +struct HTokens { + static const char *const token[]; + static int token_hash[]; + + HTokens(); +}; + +} // End of namespace Hugo +} // End of namespace Glk + +#endif |