#!/usr/bin/python
# 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",
}
