a2kit 4.4.2

Retro disk image and language utility
Documentation
/// This is generated by a script in vscode-language-applesoft.
/// It maps short variable names to trailing tokens that induce the need
/// for guarding parenthesis.  E.g., in a case like `IF (A) THEN 100`, we
/// say that `THEN` induces the need for guarding parenthesis around `A`.
/// This is needed for minification.  This does not guard against names
/// following tokens; e.g. the minifier has to explicitly keep spaces
/// following AT to guard against producing ATN or A TO.
pub const VAR_GUARDS_JSON: &str = r#"
{
    "a": [
        "tok_to",
        "tok_then"
    ],
    "f": [
        "tok_or"
    ],
    "t": [
        "tok_and",
        "tok_or"
    ],
    "aa": [
        "tok_to",
        "tok_then"
    ],
    "ab": [
        "tok_step"
    ],
    "af": [
        "tok_or"
    ],
    "at": [
        "tok_and",
        "tok_or"
    ],
    "ba": [
        "tok_to",
        "tok_then"
    ],
    "bf": [
        "tok_or"
    ],
    "bt": [
        "tok_and",
        "tok_or"
    ],
    "ca": [
        "tok_to",
        "tok_then"
    ],
    "cf": [
        "tok_or"
    ],
    "co": [
        "tok_step"
    ],
    "ct": [
        "tok_and",
        "tok_or"
    ],
    "da": [
        "tok_to",
        "tok_then"
    ],
    "df": [
        "tok_or"
    ],
    "dt": [
        "tok_and",
        "tok_or"
    ],
    "ea": [
        "tok_to",
        "tok_then"
    ],
    "ef": [
        "tok_or"
    ],
    "et": [
        "tok_and",
        "tok_or"
    ],
    "fa": [
        "tok_to",
        "tok_then"
    ],
    "ff": [
        "tok_or"
    ],
    "ft": [
        "tok_and",
        "tok_or"
    ],
    "ga": [
        "tok_to",
        "tok_then"
    ],
    "ge": [
        "tok_to",
        "tok_then"
    ],
    "gf": [
        "tok_or"
    ],
    "go": [
        "tok_to"
    ],
    "gt": [
        "tok_and",
        "tok_or"
    ],
    "ha": [
        "tok_to",
        "tok_then"
    ],
    "hf": [
        "tok_or"
    ],
    "ht": [
        "tok_and",
        "tok_or"
    ],
    "ia": [
        "tok_to",
        "tok_then"
    ],
    "if": [
        "tok_or"
    ],
    "in": [
        "tok_to",
        "tok_then"
    ],
    "it": [
        "tok_and",
        "tok_or"
    ],
    "ja": [
        "tok_to",
        "tok_then"
    ],
    "jf": [
        "tok_or"
    ],
    "jt": [
        "tok_and",
        "tok_or"
    ],
    "ka": [
        "tok_to",
        "tok_then"
    ],
    "kf": [
        "tok_or"
    ],
    "kt": [
        "tok_and",
        "tok_or"
    ],
    "la": [
        "tok_to",
        "tok_then"
    ],
    "le": [
        "tok_to",
        "tok_then"
    ],
    "lf": [
        "tok_or"
    ],
    "li": [
        "tok_step"
    ],
    "lt": [
        "tok_and",
        "tok_or"
    ],
    "ma": [
        "tok_to",
        "tok_then"
    ],
    "mf": [
        "tok_or"
    ],
    "mt": [
        "tok_and",
        "tok_or"
    ],
    "na": [
        "tok_to",
        "tok_then"
    ],
    "nf": [
        "tok_or"
    ],
    "no": [
        "tok_to",
        "tok_then"
    ],
    "nt": [
        "tok_and",
        "tok_or"
    ],
    "oa": [
        "tok_to",
        "tok_then"
    ],
    "of": [
        "tok_or"
    ],
    "ot": [
        "tok_and",
        "tok_or"
    ],
    "pa": [
        "tok_to",
        "tok_then"
    ],
    "pf": [
        "tok_or"
    ],
    "po": [
        "tok_step"
    ],
    "pt": [
        "tok_and",
        "tok_or"
    ],
    "qa": [
        "tok_to",
        "tok_then"
    ],
    "qf": [
        "tok_or"
    ],
    "qt": [
        "tok_and",
        "tok_or"
    ],
    "ra": [
        "tok_to",
        "tok_then"
    ],
    "rf": [
        "tok_or"
    ],
    "rt": [
        "tok_and",
        "tok_or"
    ],
    "sa": [
        "tok_to",
        "tok_then"
    ],
    "sf": [
        "tok_or"
    ],
    "st": [
        "tok_and",
        "tok_or"
    ],
    "ta": [
        "tok_to",
        "tok_then"
    ],
    "tf": [
        "tok_or"
    ],
    "tt": [
        "tok_and",
        "tok_or"
    ],
    "ua": [
        "tok_to",
        "tok_then"
    ],
    "uf": [
        "tok_or"
    ],
    "ut": [
        "tok_and",
        "tok_or"
    ],
    "va": [
        "tok_to",
        "tok_then"
    ],
    "vf": [
        "tok_or"
    ],
    "vt": [
        "tok_and",
        "tok_or"
    ],
    "wa": [
        "tok_to",
        "tok_then"
    ],
    "wf": [
        "tok_or"
    ],
    "wt": [
        "tok_and",
        "tok_or"
    ],
    "xa": [
        "tok_to",
        "tok_then"
    ],
    "xf": [
        "tok_or"
    ],
    "xt": [
        "tok_and",
        "tok_or"
    ],
    "ya": [
        "tok_to",
        "tok_then"
    ],
    "yf": [
        "tok_or"
    ],
    "yt": [
        "tok_and",
        "tok_or"
    ],
    "za": [
        "tok_to",
        "tok_then"
    ],
    "zf": [
        "tok_or"
    ],
    "zt": [
        "tok_and",
        "tok_or"
    ]
}
"#;

// These are 2 character tokens that must never be used as variable names.
// In the current implementation there is no need to use this, since the parser
// detects the error, and forming these during minification is already guarded
// against by the VAR_GUARDS map.
// pub const TOK_2CHAR : [&str;7] = [
//     "at",
//     "fn",
//     "gr",
//     "if",
//     "on",
//     "or",
//     "to"
// ];