#!/usr/bin/python
# -*- coding: utf-8 -*-
# vim:ts=4:et:sw=4

# ----------------------------------------------------------------------
# Copyleft (K), Jose M. Rodriguez-Rosa (a.k.a. Boriel)
#
# This program is Free Software and is released under the terms of
#                    the GNU General License
# ----------------------------------------------------------------------

# Traditional BASIC used even reserved words for math functions like
# SIN, COS, TAN. These are what ZX BASIC uses

KEYWORDS = {
    # Keywords
    'abs': 'ABS',
    'acs': 'ACS',
    'and': 'AND',
    'as': 'AS',
    'at': 'AT',
    'asm': 'ASM',
    'asn': 'ASN',
    'atn': 'ATN',
    'band': 'BAND',
    'beep': 'BEEP',
    'bin': 'BIN',
    'bnot': 'BNOT',
    'bold': 'BOLD',
    'bor': 'BOR',
    'border': 'BORDER',
    'bright': 'BRIGHT',
    'bxor': 'BXOR',
    'byref': 'BYREF',
    'byval': 'BYVAL',
    'cast': 'CAST',
    'chr': 'CHR',
    'chr$': 'CHR',
    'circle': 'CIRCLE',
    'cls': 'CLS',
    'code': 'CODE',
    'const': 'CONST',
    'continue': 'CONTINUE',
    'cos': 'COS',
    'data': 'DATA',
    'declare': 'DECLARE',
    'dim': 'DIM',
    'do': 'DO',
    'draw': 'DRAW',
    'else': 'ELSE',
    'elseif': 'ELSEIF',
    'end': 'END',
    'endif': 'ENDIF',
    'error': 'ERROR',
    'exit': 'EXIT',
    'exp': 'EXP',
    'fastcall': 'FASTCALL',
    'flash': 'FLASH',
    'for': 'FOR',
    'function': 'FUNCTION',
    'go': 'GO',
    'goto': 'GOTO',
    'gosub': 'GOSUB',
    'if': 'IF',
    'in': 'IN',
    'ink': 'INK',
    'inkey': 'INKEY',
    'inkey$': 'INKEY',
    'int': 'INT',
    'inverse': 'INVERSE',
    'italic': 'ITALIC',
    'lbound': 'LBOUND',
    'let': 'LET',
    'len': 'LEN',
    'ln': 'LN',
    'load': 'LOAD',
    'loop': 'LOOP',
    'mod': 'MOD',
    'next': 'NEXT',
    'not': 'NOT',
    'on': 'ON',
    'or': 'OR',
    'out': 'OUT',
    'over': 'OVER',
    'paper': 'PAPER',
    'pause': 'PAUSE',
    'peek': 'PEEK',
    'pi': 'PI',
    'plot': 'PLOT',
    'poke': 'POKE',
    'print': 'PRINT',
    'randomize': 'RANDOMIZE',
    'read': 'READ',
    'restore': 'RESTORE',
    'return': 'RETURN',
    'rnd': 'RND',
    'save': 'SAVE',
    'sgn': 'SGN',
    'shl': 'SHL',
    'shr': 'SHR',
    'sin': 'SIN',
    'sizeof': 'SIZEOF',
    'sqr': 'SQR',
    'stdcall': 'STDCALL',
    'step': 'STEP',
    'stop': 'STOP',
    'str': 'STR',
    'str$': 'STR',
    'sub': 'SUB',
    'tab': 'TAB',
    'tan': 'TAN',
    'then': 'THEN',
    'to': 'TO',
    'ubound': 'UBOUND',
    'until': 'UNTIL',
    'usr': 'USR',
    'val': 'VAL',
    'verify': 'VERIFY',
    'wend': 'WEND',
    'while': 'WHILE',
    'xor': 'XOR',

    # Data types
    'byte': 'BYTE',
    'ubyte': 'UBYTE',
    'integer': 'INTEGER',
    'uinteger': 'UINTEGER',
    'long': 'LONG',
    'ulong': 'ULONG',
    'fixed': 'FIXED',
    'float': 'FLOAT',
    'string': 'STRING',
}
