---input---
﻿#charset "utf-8"

#include <adv3.h>
#include <en_us.h>

extern function extern_function;
extern method extern_method;
extern function extern_function(a, b=a, c='<<a>>', d:, e:=1, f?, ...);
extern method extern_method(a, b=a, c='<<a>>', d:, e:=1, f?, [g]);;
extern class extern_class;
extern object extern_object;
intrinsic 't3vm' { };
#ifndef PropDefAny
intrinsic class Object 'root-object/030004' { };
#endif
object /**//**/ // /* \\
#define Room Unthing
    template [lst];

/*
 *   Quotations from "Le Roman de la Rose" are transcribed from MS. Douce 195,
 *   owned by Bodleian Library, University of Oxford
 *   (http://image.ox.ac.uk/show?collection=bodleian&manuscript=msdouce195).
 */

versionInfo: GameID
    IFID = '17d8efc3-07da-4dde-a837-ff7c4e386a77'
    name = 'Pygmentalion'
    byline = 'by David Corbett'
    htmlByline = 'by <a href="mailto:corbett.dav\100husky.neu.edu">David
        Corbett</a>'
    version = '1'
    authorEmail = 'David Corbett\040<corbett.dav\x40husky.neu.edu>'
    desc = 'You have fallen in love with a statue\x2e'
    htmlDesc = 'You have fallen in love with a statue\x2E'
;

/*
 *   Pymalion fu ẽtailleꝛꝛes.
 *   Poᷣtrayãs en fus ⁊ en peꝛꝛeˢ
 *   En metaulx en os ⁊ en cyꝛes
 *   Et en touteˢ aultres matires.
 *   Quon peult a tel oeuure trouuer.
 *   Poᷣ ſon grant engin eſpꝛouuer.
 *   Car maiſtre en fu bien dire loz.
 *   Ainſi com poᷣ acquerre loz
 *   Se voult a poᷣtraire deduyꝛe
 *   Si fiſt vng ymage diuuyꝛe
 *   Et miſt au faire tel entente
 *   Quel fu ſi plaiſãt et ſi gente
 *   Quel ſembloit eſtre auſſi viue.
 *   Com la plus belle riens q̇ viue
 *      (MS. Douce 195, fol. 149r)
 */

modify _init()
{
    ({: local r, r = randomize, r})();
    replaced();
}

gameMain: GameMainDef
    initialPlayerChar: Actor {
        desc = "You look the same as usual, but you feel unusually
            sentimental. "
        location = entrance
    }
    showIntro
    {
        "The statue is undeniably a masterpiece: the most skillful carving you
        have ever done, and the most beautiful woman you have ever seen.
        Unfortunately, she is also an inanimate block, and now you can neither
        work nor rest for unrequitable love.\b
        Once again you stumble into your studio, hoping and praying to find
        your statue brought to life.\b
        <b><<versionInfo.name>></b>\r\n
        <<versionInfo.byline>>\b";
    }
;

enum token token, tokOp, token;

modify cmdTokenizer
    rules_ = static
    [
        ['whitespace', new RexPattern('%s+'), nil, &tokCvtSkip, nil],
        ['punctuation', new RexPattern('[.,;:?!]'), tokPunct, nil, nil],
        ['spelled number',
         new RexPattern('<NoCase>(twenty|thirty|forty|fifty|sixty|'
                        + 'seventy|eighty|ninety)-'
                        + '(one|two|three|four|five|six|seven|eight|nine)'
                        + '(?!<AlphaNum>)'),
         tokWord, &tokCvtSpelledNumber, nil],
        ['spelled operator', new RexPattern(
            '<NoCase>(plus|positive|minus|negat(iv)?e|not|inverse(%s+of)?|'
            + 'times|over|divided%s+by|mod(ulo)?|and|xor|or|[al]?sh[lr])'
            + '(?!<AlphaNum>)'),
         tokOp, &tokCvtSpelledOperator, nil],
        ['operator', R'[-!~+*/%&^|]|<<|>>>?', tokOp, nil, nil],
        ['word', new RexPattern('<Alpha|-|&><AlphaNum|-|&|squote>*'),
         tokWord, nil, nil],
        ['string ascii-quote', R"""<min>([`\'"])(.*)%1(?!<AlphaNum>)""",
         tokString, nil, nil],
        ['string back-quote', R"<min>`(.*)'(?!%w)", tokString, nil, nil],
        ['string curly single-quote', new RexPattern('<min>\u2018(.*)\u2019'),
         tokString, nil, nil],
        ['string curly double-quote', new RexPattern('<min>\u201C(.*)\u201D'),
         tokString, nil, nil],
        ['string unterminated', R'''([`\'"\u2018\u201C](.*)''', tokString,
         nil, nil],
        ['integer', new RexPattern('[0-9]+'), tokInt, nil, nil]
    ]
    replace tokCvtSpelledOperator(txt, typ, toks)
    {
        toks.append([rexReplace(R'%s+', txt.toLower(), '\\'), typ, txt]);
    }
;

/* Tokens */

/*
 *   Puiˢ li reueſt en maĩteˢ guiſes.
 *   Robeˢ faicteˢ ꝑ grãˢ maiſtriſeˢ.
 *   De biaulx dꝛaps de ſoye ⁊ de laĩe.
 *   Deſcarlate de tiretaine
 *   De vert de pers ⁊ de bꝛunecte
 *   De couleᷣ freſche fine ⁊ necte
 *   Ou moult a riches paneˢ miſes.
 *   Herminees vaires et griſes
 *   Puis les li roſte puis reſſaye.
 *   Cõmant li ſiet robbe de ſaye
 *   Sendaulx meloguins galebꝛunˢ.
 *   Indes vermeilz iaunes ⁊ bꝛunˢ.
 *   [...]
 *   Aultre foiz luy repꝛẽd courage.
 *   De tout oſter ⁊ mectre guindeˢ.
 *   Iaunes vermeilles vers ⁊ indeˢ.
 *      (MS. Douce 195, fol. 150r)
 */

class Token: Achievement
{
    points = 1;
    desc = "<<before_>><<desc_>><<after_>>";
    before = before = '', before_
    after = (after = '', after_)
}

Token template inherited 'before_' 'after_' 'desc_';

#define DefineToken(name, before, after) name##Token: Token before after #@name

DefineToken(builtin, '<font color=g&#x72;een>', '</font>');
DefineToken(comment, '<i><font color=#408080>', '</font></i>');
DefineToken(decorator, '<font color=#aa22ff>', '</font>');
DefineToken(error, '<U><FONT COLOR=RED>', '</FONT></U>');
DefineToken(escape, '<b><font color=#bb6622>', '</font></b>');
DefineToken(float, '<u><font color=gray>', '</font></u>');
DefineToken(keyword, '<b><font face=TADS-Sans color=green>', '</font></b>');
DefineToken(label, '<font color=#A0A000>', '</font>');
DefineToken(long, '<i><font color=gray>', '</font></i>');
DefineToken(name, '<u>', '</u>');
DefineToken(operator, '<b><font color=\"#AA22F&#x46;\">', '</font></b>');
DefineToken(string, '<font color=\'#BA212&#49;\'>', '</font>');
DefineToken(whitespace, '<font color="bgcolor"bgcolor=\'text\'>', '</font>');

function highlightToken(tokenString)
{
    local token = [
        'built in' -> builtinToken,
        'comment' -> commentToken,
        'decorator' -> decoratorToken,
        'error' -> errorToken,
        'escape' -> escapeToken,
        'float' -> floatToken,
        'keyword' -> keywordToken,
        'label' -> labelToken,
        'long' -> longToken,
        'name' -> nameToken,
        'operator' -> operatorToken,
        'string' -> stringToken,
        'white space' -> whitespaceToken,
        * -> nil
    ][tokenString.toLower()];
    if (!token)
        return tokenString;
    token.awardPointsOnce();
    return '<<token.before>><<tokenString>><<token.after>>';
}

string /**//**/ // /* \\
#define Room Unthing
    template <<highlight *>> highlightToken;

/* Grammar for materials */

dictionary property material;
grammar adjWord(material): <material material>->adj_ : AdjPhraseWithVocab
    getVocabMatchList(resolver, results, extraFlags)
    {
        return getWordMatches(adj_, &material, resolver, extraFlags,
                              VocabTruncated);
    }
    getAdjustedTokens()
    {
        return [adj_, &material];
    }
;

/* Rooms and objects */

+ property location;

entrance: Room 'Entrance'
    "You are in the entrance to your studio. This is where you carve great
    works of art, not that you have felt like making any lately. A door leads
    outside, and the studio itself is to the north and the east. "
    north = workbenchRoom
    northeast = sinkRoom
    east = altarRoom
    south = door
    out asExit(south)
;

+ door: LockableWithKey, Door 'door' 'door'
    "It is a simple wooden door. "
    material = 'wood' 'wooden'
    keyList = [key]
    cannotOpenLockedMsg = '{The dobj/He} {is} locked. You cannot
        <<highlight 'escape'>>! '
;

key: PresentLater, Key 'key' 'key' @altar
    "It is a <<unless clean>>grimy<<end>> bronze key. <<if clean>>On it is \
    etched the word <q><<keyword>></q>. "
    material = 'bronze'
    clean = nil
    keyword = (keyword = randomGreekWord(), targetprop)
    dobjFor(Clean) { verify { } action { askForIobj(CleanWith); } }
    dobjFor(CleanWith)
    {
        verify
        {
            if (clean)
                illogicalAlready('{The dobj/He} {is} already clean. ');
        }
        action
        {
            gDobj.clean = true;
            "{You/He} clean{s} {the dobj/him}, revealing an inscription. ";
        }
    }
    dobjFor(Read) { verify { nonObvious; } }
;

workbenchRoom: Room 'At the Workbench'
    "This workbench, in the northwest part of the studio, was where you would
    create works of art. Now you just come here to contemplate your
    creation&rsquo;s beauty and lament your hopeless situation.\b
    The statue stands on a plinth beside the workbench. "
    east = sinkRoom
    southeast = altarRoom
    south = entrance
    getDestName(actor, origin) { return 'the workbench'; }
;

+ workbench: Fixture, Surface
    'workbench/bench/material/materials/tool/tools' 'workbench'
    "Normally, the workbench would be scattered with half-finished projects,
    but now your tools and materials lie abandoned. "
;

+ plinth: Fixture, Thing 'marble plinth/pedestal' 'plinth'
    "It&rsquo;s a smoothed block of marble about a cubit high. "
;

replace grammar predicate(Screw): ' ': object;
replace grammar predicate(ScrewWith): ' ': object;
+ + statue: Fixture, Surface
    '"creation\'s" beauty/carving/creation/galatea/statue/woman' 'statue'
    "This is a<<if nameToken.scoreCount>>n untitled<<end>> statue of a woman
    carved from <<if errorToken.scoreCount>>flawless <<end>>
    <<if whitespaceToken.scoreCount>>milk-white <<end>>ivory.
    <<if escapeToken.scoreCount || longToken.scoreCount>>Her
    <<if longToken.scoreCount>>long <<end>>hair is done up in a
    chignon<<if escapeToken.scoreCount>>, with a few strands falling down her
    neck<<end>><<if floatToken.scoreCount>>, and \v<<else>>.<<end>><<end>>
    <<if floatToken.scoreCount>>She radiates an aura of contrapposto grace.
    <<end>><<if keywordToken.scoreCount>>\bYou wonder what she
    <<if labelToken.scoreCount>>is going to<<else>>will<<end>> be like as a
    woman.
    <<if decoratorToken.scoreCount>>Maybe she&rsquo;ll be a painter and expand
    your business.<<end>>
    <<if operatorToken.scoreCount>>Maybe she&rsquo;ll have a head for figures
    and will put the accounts in order.<<end>>
    <<if builtinToken.scoreCount>>She&rsquo;ll love you, obviously, but beyond
    that you don&rsquo;t know.<<end>><<end>>
    <<if commentToken.scoreCount>>If only Aphrodite would bring her to life
    without this silly puzzle about tokens and mirrors!<<end>> "
    material = 'ivory'
    propertyset 'is*'
    {
        propertyset 'H*'
        {
            im = nil\
            er = true;
        }
        It = true
    }
    iobjFor(PutOn)
    {
        check
        {
            if (gDobj not /**//**/ // /* \\
#define Room Unthing
                in (necklace, __objref(necklace, warn)))
                "How rude! You don&rsquo;t know what you were thinking. ";
        }
    }
    iobjFor(GiveTo) remapTo(PutOn, DirectObject, IndirectObject)
;

+++ necklace: Wearable
    'pearl necklace/string pearls' '<<highlight 'string'>> of pearls'
    "This is a masterfully crafted pearl necklace. You hope the statue
    won&rsquo;t mind if you hold onto it for a while. "
    initDesc = "You gave the statue this pearl necklace yesterday. "
    isPlural = true
;

altarRoom: Room 'At the Altar'
    "Light from the window illuminates a crude altar. Until recently, this
    corner was your bedroom. The rest of the studio lies north and west. "
    north = sinkRoom
    northwest = workbenchRoom
    west = entrance
    getDestName(actor, origin) { return 'the altar'; }
;

+ window: Fixture 'window' 'window'
    "It&rsquo;s just a window above the altar. <<one of>>The space under the
    window is blank; as an interior <<highlight 'decorator'>>, you can&rsquo;t
    help but think the wall would benefit from a bas-relief, but &ndash;
    <i>sigh</i> &endash you are too lovelorn to wield the chisel. <<||>>The
    wall right below it is a boring <<highlight 'white space'>>. <<stopping>>"
;

+ altar: Fixture, Surface 'crude rough altar/banker/slab' 'altar'
    "A rough marble slab lies on a wooden banker. In your rush to construct an
    altar, you neglected the usual surface finish and friezes, but you pray at
    it anyway. You are sure the gods will understand. "
    material = 'marble' 'wood' 'wooden'
    bulkCapacity = 1
    dobjFor(PrayAt)
    {
        verify { }
        action()
        {
            /*
             *   Biaulx dieux diſt il tout ce poez.
             *   Sil voꝰ plaiſt ma requeſte oez
             *   [...]
             *   Et la belle q̇ mon cueᷣ emble
             *   Qui ſi bien yuoyꝛe reſſemble.
             *   Deuiengne ma loyal amye
             *   De fẽme ait coꝛps ame et vie
             *      (MS. Douce 195, fol. 151r)
             */
            local offering;
            foreach (offering in contents);
            if (!keywordToken.scoreCount)
                "<<one of>><q>O Aphrodite,</q> you say, <q>comforter of
                hopeless lovers, hear my prayer! May she to whom I have given
                my heart be given body, soul, and life. And a colorful
                personality. And&mdash</q>\b
                You are interrupted by a shimmering about the altar. As you
                watch, it takes the form of a callipygian goddess.\b
                <q>Mortal, I have heard your heart-felt and oft-repeated plea,
                and I will take pity on you,</q> says Aphrodite. <q>If you give
                me a token of your love as an offering, I will give you the
                <<highlight 'keyword'>> of life. Speak this word in the
                presence of a mirror, and I will grant your request.</q>\b
                She fades away, adding, <q>As for her colorful personality,
                just look around you.</q> <<or>><<stopping>>";
            else if (key.location)
                "<q>O Aphrodite,</q> you say, <q>what am I supposed to do
                again?</q>\bThe goddess reappears and reminds you to speak the
                keyword of life at a mirror. <<one of>><q>What&rsquo;s the
                keyword, then?</q> <q>Gods help those who help themselves.
                Figure it out yourself.</q><<or>><q>Why a mirror?</q> <q>I like
                mirrors.</q><<purely at random>> ";
            else if (offering == necklace)
            {
                "Aphrodite reappears. <q>A necklace! Perfect!</q> The necklace
                disappears in a bright flash. When your eyes readjust, you see
                a key lying in its place. ";
                necklace.moveInto(nil);
                key.makePresent();
            }
            else if (+offering)
                "Aphrodite reappears. She eyes <<offering.theNameObj>>
                skeptically. <q><<one of>>No <<highlight 'comment'>>.<<or>>You
                call <i>that</i> a token of love?<<or>>\^<<offering.aNameObj>>?
                Really?<<or>>Come on, mortal, it&rsquo;s not that
                difficult!<<then at random>></q> ";
            else
                "<q>I heard you the first time,</q> says Aphrodite. <q>Prove
                your devotion by offering a token of your love at the altar,
                or the deal&rsquo;s off.</q> ";
        }
    }
    iobjFor(GiveTo) remapTo(PutOn, DirectObject, IndirectObject)
;

aphrodite: Unthing
    '(love) aphrodite/cytherea/god/goddess/venus love' 'Aphrodite'
    '<<if gActor.canSee(altar)>>You can only pray to a god.
    <<else>>You need an altar to interact with a god. '
    location = (gPlayerChar)
    isProperName = true
    isHer = true
    iobjFor(GiveTo)
    {
        verify
        {
            illogical('She isn&rsquo;t here. You&rsquo;ll have to leave {the
                dobj/him} somewhere she can find it. ');
        }
    }
    dobjFor(PrayAt) maybeRemapTo(gActor.canSee(altar), PrayAt, altar)
;

sinkRoom: Room 'Washroom'
    "Sculpting marble is a dusty business. You use this sink to clean off after
    a hard day&rsquo;s work. Beside the sink is a small end table, and on the
    wall is a calculator. The rest of the studio is south and west. "
    south = altarRoom
    southwest = entrance
    west = workbenchRoom
;

property level, overflowing;
export overflowing;
export level 'waterLevel';
+ sink: Fixture '(auto) (mop) auto-sink/autosink/bowl/drain/faucet/sink' 'sink'
    "This is a state-of-the-art mop sink with anti-miasmic coating and bronze
    backsplash. It is so modern, there are no handles or other obvious ways to
    turn it on.\b
    <<if overflowing>>It is overflowing.
    <<else unless level < 19500>>It is full to the brim with water.
    <<otherwise if level >= 15000>>It is full of water.
    <<otherwise unless level < 10000>>It is half full of water.
    <<else if level >= 2000>>There is some water in the sink.
    <<else if level > 0>>A small puddle has formed at the bottom of the sink.
    <<otherwise>>It is empty.
    <<if level <= -1.0e+2>>It looks like it hasn&rsquo;t been used in a
    <<highlight 'long'>> time. "
    level = not in ([lst]) { return argcount; }
    not = in()
    overflowing = nil
    current = self
    setLevel(level:)
    {
        targetobj.current.overflowing = level == nil;
        targetobj.current.level = min(level ?? 0, 20000);
        if (sink.overflowing || sink.level > 0e+1)
            sinkWater.makePresent();
        if (basin.overflowing || basin.level > 0e-1)
            basinWater.makePresent();
    }
    iobjFor(CleanWith) remapTo(CleanWith, DirectObject, sinkWater)
;

++ sinkWater: PresentLater, Fixture
    '(sink) water sink water' 'water' "<<sink.desc>>"
    disambigName = 'water in the sink'
    dobjFor(Drink)
    {
        verify { illogical('''{You're} not thirsty. '''); }
    }
    iobjFor(CleanWith)
    {
        preCond = []
        verify {
            if (!location)
                illogicalNow('There is no water in the sink. ');
            if (!sink.overflowing && sink.level < 1e2)
                illogicalNow('There is not enough water in the sink. ');
        }
    }
;

+ table: Fixture, Surface 'small end bracket/table' 'table'
    "<<first time>>Upon closer inspection, you see that \v<<only>>The table is
    bracketed to the wall. "
;

++ Readable '"operator\'s" manual' 'manual'
    "<center ><<highlight 'Operator'>>&rsquo;s Manual<\center>\b
    <bq>To control the auto-sink, use the calculator add-on to enter the
    desired volume of water. For example,\n
    \t\t<<aHref('calculate 69 * 105', 'CALCULATE 69 TIMES 105')>>\n
    to fill the basin with <<% ,d 0x69 * 0105>> kochliaria<!-- an ancient Greek
    unit, < 5 ml >.\b
    Warning: Do not use big numbers or divide by zero!<\\bq>\b"
    dobjFor(Read) asDobjFor(Examine)
;

+ calculator: Fixture, Thing 'button/buttons/calculator/screen' 'calculator'
    "The calculator is <<highlight 'built in'>>to the wall beside the sink. It
    has buttons for all the standard unary and binary operations.
    <<if(screen)>>The screen reads <<screen>>"
    screen = nil
    literalMatch = ''
;

method wrongContextMsg()
{
    return '<font face="TADS-Typewriter"><<highlight '<<'ERROR'>>'>> {{can\'t
        use\ \"<<self.literalMatch>>\" in that context}}</font>. ';
}

portico: OutdoorRoom 'Portico'
    "Columns line the portico stretching east and west, and steps lead down to
    the south. The door leads back in, and beside the door is a basin. A
    <<highlight 'label'>> is affixed to the doorpost. "
    north = (__objref(error, error))
    in asExit(north)
    south: FakeConnector
    {
        "You begin moving away from the door, but then you remember the statue.
        The gods won&rsquo;t bring her to life if you give up this easily!
        <<setMethod(&isConnectorApparent, {origin, actor: nil})>>"
    }
    east asExit(south)
    west asExit(south)
    down asExit(south)
;

error: LockableWithKey, Door ->door 'door' 'door' @portico "<<door.desc>>"
    keyList = (otherSide.keyList)
;

+ Fixture 'column*columns' 'columns'
    "There are six <<one of>>short columns with simple capitals<<or>>slender
    columns with scrollwork in the capitals<<or>>tall columns with ornate
    capitals<<sticky random>>. Above the architrave is a frieze depicting some
    of your wares. <<first time>>The cornice overhangs the frieze a bit too
    much, you think; perhaps you should shorten it. You try to concentrate on
    the architecture of the portico, stoically ignoring what you cannot change,
    but it doesn&rsquo;t work. It never does. <<only>>"
    isPlural = true
;

+ Fixture, Readable 'label/doorpost' '<<highlight 'label'>>'
    "The <<highlight 'label'>> says <q>Pygmentalion</q><<first time>> (which is
    your <<highlight 'name'>>)<<only>>. "
    dobjFor(Read) asDobjFor(Examine)
;

+ basin: RestrictedContainer, Fixture
    '(bird) basin/bath/birdbath/fountain/mosaic/pool/tile/tiles' 'basin'
    "It is shallow but wide, and lined with tiles. It used to be a fountain,
    but it stopped working after they installed the new sink. Something to do
    with water pressure, no doubt. Now you just use it as a birdbath.\b
    <<if overflowing>>Water is spilling over the sides in a turbulent flow.
    <<else if level >= 19500>>It is full to the brim with water. You can see
    your reflection quite clearly. Gods, you look a mess.
    <<else if level >= 15000>>It is full of water. You can see your reflection.
    <<else if level >= 10000>>It is half full. From the right angle, you can
    make out a shadowy reflection of the columns, but nothing more.
    <<else if level >= 2000>>There is some water in it, but you can still make
    out the mosaic lining the basin.
    <<else if level > 0>>A small puddle has formed at the bottom of the basin.
    <<else>>It is empty.
    <<if level <= -1.0e+2>>It looks as if it has never been filled. "
    level = 0
    overflowing = nil
    isMirror = (level >= 15000)
    setLevel(level:)
    {
        delegated sink.setLevel(_: sourceTextOrder ? level: nil, level: level);
    }
    iobjFor(CleanWith) maybeRemapTo(basinWater.location, CleanWith,
                                    DirectObject, basinWater)
;

++ basinWater: PresentLater, Fixture '(basin) water basin water' 'water'
    "<<basin.desc>>"
    disambigName = 'water in the basin'
    dobjFor(Drink)
    {
        verify
        {
            illogical('Drinking from a birdbath might not be the best idea. ');
        }
    }
    iobjFor(CleanWith)
    {
        preCond = [touchObj]
        verify {
            illogical('Washing something in a birdbath is unlikely to get it
                clean. ');
        }
    }
;

++ feather: PresentLater, Thing
    '(bird) (dove) (pigeon) (turtle) (turtle-dove) (turtledove) feather'
    'feather' "It&rsquo;s a turtle-dove feather: an auspicious omen! "
    initSpecialDesc = "<<one of>>A little brown bird is splashing around in the
        basin. When it notices you, it ruffles its feathers, one of which falls
        out, and flies out between the columns. <<or>>A feather is
        <<if basin.overflowing || basin.level > 0>><<highlight 'float'>>ing
        <<else>>lying <<end>> in the basin. <<stopping>>"
;

/* Water */

trickling(water) multimethod
{
    if (sink.overflowing)
    {
    dirs: for (local dir in Direction.allDirections)
        {
            if (dir.ofKind(RelativeDirection))
                continue;
            if (dir.ofKind(ShipboardDirection))
                continue dirs;
            if (water.eventualLocation.(dir.dirProp) == __objref(entrance))
                return 'trickling <<dir.name>>';
        }
    }
    return 'a stagnant puddle';
}

class Water:PresentLater,Fixture'(floor) (ground) water puddle water''water'
    "The water on the floor is <<trickling(self)>>. "
    disambigName = 'water on the floor'
    specialDesc = "The floor is covered with water. "
    dobjFor(Drink)
    {
        preCond = [touchObj]
        verify { }
        check { failCheck('{You\'re} not thirsty. '); }
    }
    iobjFor(CleanWith)
    {
        preCond = [touchObj]
        verify { illogical('The water on the ground is too dirty. '); }
    }
;

Water template +location | ~location "specialDesc"? inherited;
Water +altarRoom;
Water +sinkRoom { ;; };
Water { +workbenchRoom };

entranceWater: Water +entrance
    "<<if sink.overflowing>>At your feet, all the water from the sink flows
    into a <<%-o 02>>-dactyl slit in the baseboard. <<else>><<inherited>>"
    vocabWords = 'water baseboard/puddle/slit water'
;
trickling(entranceWater w)
{
    return sink.overflowing ? 'trickling into the wall' : inherited<*>(w);
}

porticoWater: Water ~portico;
trickling(porticoWater w)
{
    return basin.overflowing ? 'trickling down the stairs' : inherited<*>(w);
}

/* Calculating */

;;;class is: Exception { finalize { } };;; // InvalidSpecificationError

DefineLiteralAction(Calculate)
    checkAction()
    {
        if (defined(calculator) && !gActor.canTouch(calculator))
        {
            { gActor.failCheck('{You/He} {can\'t} do that kind of math in
                {your} head. '); }
        }
    }
    execAction()
    {
        local op = function(...) { throw new is(); }, a, b;
        local opString = (literalMatch, literalMatch);
        if (numMatch)
            goto binary;
        switch (opString)
        {
        case '!':
        case 'not':
            opString = '!';
            op = {x : !toInteger('<<%_\u0030[1]5.3\170x>>', 16)};
            break;
        case '+':
        case 'plus':
        case 'positive':
            opString = '+';
            op = {self_ : self_};
            break;
        case '-':
        case 'minus':
        case 'negate':
        case 'negative':
            opString = '&#x2212;';
            op = {x : -x};
            break;
        case '~':
        case 'inverse':
        case 'inverse\\of':
            opString = '~';
            op = {x : ~x};
            break;
        }
        goto doCalculation;
    binary: binaryOp:
        switch (opString)
        {
        case '+':
        case 'plus':
            opString = '+';
            op = {a, b : +a+++b};
            break binaryOp;
        case '-':
        case 'minus':
            opString = '&#8722;';
            op = {a, b : -b-- - -a};
            break;
        case '*':
        case 'times':
            opString = '&times;';
            op = new function(a, b) { return a * b; };
            break;
        case '/':
        case 'over':
        case 'divided\\by':
            opString = '/';
            op = function(a, b) { return a / b; };
            break;
        case '%':
        case 'mod':
        case 'modulo':
            opString = 'mod';
            op = function(a, b, multimethod=b) { return a % multimethod; };
            break;
        case '\<<':
        case 'shl':
        case 'ashl':
        case 'lshl':
            opString = '&lt;&lt;';
            op = {a, b, c? : a << b};
            break;
        case '&':
        case 'and':
            opString = '&amp;';
            op = {a, b : local badness = a, local token = b, badness & token};
            break;
        case '^':
        case 'xor':
            opString = '^';
            op = {a, b, c? : a ^ b};
            break;
        case '|':
        case 'or':
            opString = '|';
            op = {a, b : a | b};
            break;
        case '>\>':
        case 'shr':
        case 'ashr':
            opString = '>>';
            op = {a, b : toInteger('<<(a >> b)>>')};
            break;
        case '>>>':
        case 'lshr':
            opString = '>>>';
            op = {a, b : b ? invokee(a >>> 1, --b) : a};
            break;
        }
        opString = ' <<opString>> ';
    doCalculation:
        "The calculator outputs ";
        try
        {
            a = numMatch ? numMatch.getval(colon : nil) : nil;
            b = numMatch2.getval();
            local result = toInteger(numMatch ? op(a, b) : op(b));
            calculator.setMethod(&screen, method()
            {
                return '<font face="TADS-Typewriter"><<a>><<opString>><<b>> =
                    <<%d result>></font>. ';
            });
            local oldLevel = sink.level;
            sink.current.setLevel(level: result);
            "<<calculator.screen()>>
            <<if sink.current == basin>>The sink gurgles and the pipes rattle.
            <<else if sink.level == oldLevel>>The sink gurgles.
            <<else if sink.level <= 0 && oldLevel <= 0>>The pipes rattle for a
            moment.
            <<else if sink.level <= 0>>All the water drains from the sink.
            <<else if oldLevel <= 0>>The sink begins to fill with water.
            <<else if sink.level < oldLevel - 0xabc>>Some of the water drains
            from the sink.
            <<else if sink.level < oldLevel>>The water level drops slightly.
            <<else if oldLevel < sink.level - 0XABC>>Water splashes into the
            sink for a few seconds.
            <<else if oldLevel < sink.level>>Water dribbles from the faucet. ";
        }
        catch (is in)
        {
            calculator.literalMatch = literalMatch;
            calculator.setMethod(&screen, &wrongContextMsg);
            "<<calculator.screen()>>";
        }
        catch (RuntimeError e)
        {
            calculator.setMethod(&screen, new method
            {
                return '<font face=\"TADS-Typewriter\"><<highlight 'ERROR'>>
                    {{<<e.exceptionMessage>>}}</font>.\b';
            });
            "<<calculator.screen()>>";
            switch (e.errno_)
            {
            case 2008: // division by zero
                "<<if sink.current == sink
                  && (sink.level > 0 || sink.overflowing)>>The water in the
                sink is sucked down the drain.
                <<else if basin.level > 0 || basin.overflowing>>Water comes up
                from the drain and <<if basin.overflowing>>spills over
                the edges of<<else>>begins to fill<<end>> the sink.
                <<else>>The sink gurgles and the pipes rattle. ";
                sink.current = sink.current == sink ? basin : sink;
                local _tmp = sink.level;
                sink.level = basin.level;
                basin.level = _tmp;
                _tmp = sink.overflowing;
                sink.overflowing = basin.overflowing;
                basin.overflowing = _tmp;
                if (!sink.current.overflowing)
                    break;
                // fall through
            case 2023: // numeric overflow
                if (!sink.current.overflowing)
                    "<<if sink.current == sink>>High-pressure water streams
                    from the faucet, filling the sink and spilling over the
                    edge. Rivulets begin running down the slight gradient of
                    the floor. <<else>>The pipes shake loudly. ";
                forEachInstance(Water, function(w) {
                    if ((w.eventualLocation == portico) ==
                        (sink.current == basin))
                        w.makePresent();
                });
                sink.current.setLevel(level: nil);
                break;
            default:
                throw e;
            }
        }
        if (!gPlayerChar.hasSeen(feather))
        {
            feather.makePresentIf(basin.isMirror);
            feather.moved = nil;
        }
    }
;

VerbRule(Calculate)
    ('c' | 'calculate' | 'enter' | 'eval' | 'evaluate') (()|(singleNumber|))
    (tokOp->literalMatch | '!'->literalMatch) numberPhrase -> numMatch2
    : CalculateAction
    verbPhrase = 'calculate/calculating (what) (how) (what)'
;

/* Cleaning */

modify VerbRule(Clean)
    [ /**//**/ // /* \\
#define Room Unthing
    badness 500] ('clean' | 'wash') dobjList:
;

grammar predicate(CleanIn):
    ('clean' | 'wash') dobjList ('at' | 'in' | 'with') singleIobj
    : CleanWithAction
    verbPhrase = 'clean/cleaning (what) (in what)'
    askIobjResponseProd = inSingleNoun
    omitIobjInDobjQuery = true
;

/* Prayer */

VerbRule(Pray)
    [badness 500] 'pray' singleDobj
    : PrayAtAction
    verbPhrase = 'pray/praying (at what)'
;

VerbRule(PrayAt)
    'pray' ('at' | 'to') singleDobj
    : PrayAtAction
    verbPhrase = 'pray/praying (at what)'
    askDobjResponseProd = singleNoun
;

DefineTAction(PrayAt);
modify Thing
    dobjFor(PrayAt)
    {
        verify
        {
            illogical('{You/He} {cannot} pray at {that dobj/him}. ');
        }
    }
;

/* Extended grammar for 'in' and 'out' */

modify grammar directionName(in): 'in' | 'inside':
   dir = inDirection
;
modify /**//**/ // /* \\
#define Room Unthing
    grammar directionName(out): 'out' | 'outside':
   dir = outDirection
;

/* Speech */

DefineLiteralAction(Say)
    execAction
    {
        local literal = getLiteral().toLower();
        if (literal is in ('xyzzy', 'plugh'))
            tryImplicitActionMsg(&silentImplicitAction, Xyzzy);
        else if (literal != key.keyword)
            "Nothing happens. ";
        else if (literal not in ())
        {
            if (gActor.location == portico && basin.isMirror)
            {
                if (feather.location == basin)
                    "The air above the basin shimmers, and the feather bobs on
                    the rippling water. After a moment, the shimmering
                    disappears.";
                else
                {
                    /*
                     *   Venus q̇ la pꝛiere ouyt
                     *   [...]
                     *   A lymage ẽuoya loꝛs lame.
                     *   Si deuĩt ſi treſbelle dame.
                     *   Quoncq̄s en toute la contree.
                     *   Not len ſi belle encontree.
                     *   [...]
                     *   Doulx amys aĩs ſuy vꝛ̄e amye.
                     *   Pꝛeſte de voſtre compaignye.
                     *   Receuoir ⁊ mamoᷣ voꝰ offre.
                     *   Sil voꝰ plaiſt receuoir tel offre.
                     *      (MS. Douce 195, fol. 151v)
                     */
                    "The air above the basin shimmers for a moment. You hear
                    the door opening behind you. Turning around, you see a
                    woman who looks suspiciously like your statue, except not
                    the color of marble.\b
                    <q>Hello, world,</q> she says. <q>It&rsquo;s nice to be
                    alive at last! Hello, dearest Pygmentalion.</q>\b
                    Ah, what beauty! What mastery of syntax! Praise be to
                    Aphrodite! ";
                    finishGameMsg(ftVictory,
                                  [finishOptionUndo, finishOptionFullScore]);
                }
            }
            else
                "Nothing happens. <<if keywordToken.scoreCount>>Aphrodite said
                you would need a mirror. <<end>>";
        }
    }
;

VerbRule(Say)
    ('say' | 'shout') singleLiteral
    : SayAction
    verbPhrase = 'say/saying (what)'
;

VerbRule(SayTo)
    ('say' | 'shout') singleLiteral ('at' | 'to') singleIobj
    : SayAction
    verbPhrase = 'say/saying (what) (to what)'
;

/**/ #if /* Revere the basileus. */ 0   \
         // Expel the barbarian.
;
 #ifndef __DEBUG
;
  #define __DEBUG
;
# else
;
#if 1
;
  #define DEBUG__
;
#endif
;
 #endif
;\\
#endif
/*
#endif
?*/
//\\
#endif
'''
#endif
'\''''
#endif
\\'''
"""
#endif
"\""""
#endif
\\"""
'
#endif
\'
#endif
\\'
"
#endif
\"
#endif
\\"
'''<<'<<'
#endif
'>>'>>
#endif
'''
"""<<'<<'
#endif
'>>'>>
#endif
"""
'<<'<<'
#endif
'>>'>>
#endif
'
"<<'<<'
#endif
'>>'>>
#endif
"//"
\
	#	endif
;
dictionary barbarianDict;
transient xyzzy: object;
DefineIAction(Xyzzy)
    execAction
    {
        "Only a barbarian could pronounce such a word. ";
        local oldSay = t3SetSay({str : nil});
        try
        {
            new transient Vector([
                '<<one of>><< cycling >>',
                '<<one of>><<            at random>>',
                '<<one of>><<then purely at random>>',
                '<<one of>><<as decreasingly likely outcomes>>',
                '<<one of>><<          shuffled>>',
                '<<one of>><<     half shuffled>>',
                '<<one of>><<then      shuffled>>',
                '<<one of>><<then half shuffled>>']);
            '''''<font x= color=red bgcolor='silver' face="TADS-Sans"
            size=\'+1\' x=\"x\">{can't}</font>\'''' '' '''';
            """""<font x= color=red bgcolor='silver' face="TADS-Sans"
            size=\'+1\' x=\"x\">{can't}</font>\"""" "" """";
            '<font x= color=red face="TADS-Sans" size=\'+1\'
            x=\"x\">{can\'t}</font>\'';
            "<font x= color=red bgcolor='silver' size=\'+1\'
            x=\"x\">{can\'t}</font>\"";
            '''''<font <<'color=red'>> bgcolor<<'='>>silver
            face=<<'"TADS-Sans"'>>>{ca<<'n\''>>t}</font>\'''' '' '''';
            """""<font <<'color=red'>> bgcolor<<'='>>silver
            face=<<'"TADS-Sans"'>>>{ca<<'n\''>>t}</font>\"""" "" """";
            '<font <<'color=red'>> bgcolor<<'='>>silver
            face=<<'"TADS-Sans"'>>>{ca<<'n\''>>t}</font>\'';
            "<font <<'color=red'>> bgcolor<<'='>>silver
            face=<<'"TADS-Sans"'>>>{ca<<'n\''>>t}</font>\"";
            '''<s a1={\.}a a2=a{\>} a3=a{\>}a b1='{\>}b' b2='b{\>}' b3='b{\>}b'
            c1="c{\>}" c2="{\>}c" c3="c{\>}c" d1=\'d{\>}\' d2=\'{\>}d\'
            d3=\'d{\>}d\' e1=\"e{\>}\" e2=\"{\>}e\" e3=\"e{\>}e\"></s>''';
            """<s a1={\.}a a2=a{\>} a3=a{\>}a b1='{\>}b' b2='b{\>}' b3='b{\>}b'
            c1="c{\>}" c2="{\>}c" c3="c{\>}c" d1=\'d{\>}\' d2=\'{\>}d\'
            d3=\'d{\>}d\' e1=\"e{\>}\" e2=\"{\>}e\" e3=\"e{\>}e\"></s>""";
            '<s a1={\.}a a2=a{\>} a3=a{\>}a c1="c{\>}" c2="{\>}c" c3="c{\>}c"
            d1=\'d{\>}\' d2=\'{\>}d\' d3=\'d{\>}d\' e1=\"e{\>}\" e2=\"{\>}e\"
            e3=\"e{\>}e\"></s>';
            "<s a1={\.}a a2=a{\>} a3=a{\>}a b1='{\>}b' b2='b{\>}' b3='b{\>}b'
            d1=\'d{\>}\' d2=\'{\>}d\' d3=\'d{\>}d\' e1=\"e{\>}\" e2=\"{\>}e\"
            e3=\"e{\>}e\"></s>";
            '''{a<<1>>b}'''; """{a<<1>>b}"""; '{a<<1>>b}'; "{a<<1>>b}";
            '''<s a<<'='>>'1' b<<'='>>"2" c<<'='>>\'3\' d<<'='>>\"4\"
            <<'e'>>=5 f=6' g=7">''';
            """<s a<<'='>>'1' b<<'='>>"2" c<<'='>>\'3\' d<<'='>>\"4\"
            <<'e'>>=5 f=6' g=7">""";
            '<s b<<'='>>"2" c<<'='>>\'3\' d<<'='>>\"4\" <<'e'>>=5 g=7">';
            "<s a<<'='>>'1' c<<'='>>\'3\' d<<'='>>\"4\" <<'e'>>=5 f=6'>";
            '''<s a=v\\ a=v\ v\><s a='{'}'\><s a="{"}"\>''';
            """<s a=v\\ a=v\ v\><s a='{'}'\><s a="{"}"\>""";
            '<s a=v\\ a=v\ v\><s a=\'{\'}\'\><s a="{"}"\>';
            "<s a=v\\ a=v\ v\><s a='{'}'\><s a=\"{\"}\"\>";
            '''<font color='purple>igram</font>'''; '''<t a={'''; '''}''';
            '''<font color="purple>igram</font>'''; '''<t a='{'''; '''}''';
            '''<font color=\'purple>igram</font>'''; '''<t a="{'''; '''}''';
            '''<font color=\"purple>igram</font>''';
            """<font color='purple>igram</font>"""; """<t a={"""; """}""";
            """<font color="purple>igram</font>"""; """<t a='{"""; """}""";
            """<font color=\'purple>igram</font>"""; """<t a=\"{"""; """}""";
            """<font color=\"purple>igram</font>""";
            '<font color="purple>igram</font>'; '<t a={'; '}';
            '<font color=\'purple>igram</font>'; '<t a=\'{'; '}';
            '<font color=\"purple>igram</font>'; '<t a="{'; '}';
            "<font color=\"purple>igram</font>"; "<t a={"; "}";
            "<font color='purple>igram</font>"; "<t a='{"; "}";
            "<font color=\'purple>igram</font>"; "<t a=\"{"; "}\"";
            '''<xmp a=v>&amp;\x26<b><\xmp></xmp a=v>''';
            """<xmp a=v>&amp;\x26<b><\xmp></xmp a=v>""";
            '<xmp a=v>&amp;\x26<b><\xmp></xmp a=v>';
            "<xmp a=v>&amp;\x26<b><\xmp></xmp a=v>";
            '''<xmp a=v>&amp;\x26<b><\xmp><\Xmp a=v>''';
            """<xmp a=v>&amp;\x26<b><\xmp><\Xmp a=v>""";
            '<xmp a=v>&amp;\x26<b><\xmp><\Xmp a=v>';
            "<xmp a=v>&amp;\x26<b><\xmp><\Xmp a=v>";
            '''<xmp a=v>&amp;\x26<b><\xmp><\\xmp a=v>''';
            """<xmp a=v>&amp;\x26<b><\xmp><\\xmp a=v>""";
            '<xmp a=v>&amp;\x26<b><\xmp><\\xmp a=v>';
            "<xmp a=v>&amp;\x26<b><\xmp><\\xmp a=v>";
            '''<xmp>'''; """<xmp>"""; '<xmp>'; "<xmp>";
            '''<listing a=v>&amp;\x26<b><listing><xmp></listing a=v>''';
            """<listing a=v>&amp;\x26<b><listing><xmp></listing a=v>""";
            '<listing a=v>&amp;\x26<b><listing><xmp></listing a=v>';
            "<listing a=v>&amp;\x26<b><listing><xmp></listing a=v>";
            '''<listing a=v>&amp;\x26<b><listing><xmp><\listing a=v>''';
            """<listing a=v>&amp;\x26<b><listing><xmp><\listing a=v>""";
            '<listing a=v>&amp;\x26<b><listing><xmp><\listing a=v>';
            "<listing a=v>&amp;\x26<b><listing><xmp><\listing a=v>";
            '''<listing a=v>&amp;\x26<b><listing><xmp><\\listing a=v>''';
            """<listing a=v>&amp;\x26<b><listing><xmp><\\listing a=v>""";
            '<listing a=v>&amp;\x26<b><listing><xmp><\\listing a=v>';
            "<listing a=v>&amp;\x26<b><listing><xmp><\\listing a=v>";
            '''<listing>'''; """<listing>"""; '<listing>'; "<listing>";
        }
        finally
        {
            t3SetSay(oldSay);
        }
    }
;

VerbRule(Xyzzy)
    "xyzzy" | "plugh" *
    : XyzzyAction
    verbPhrase = 'babble/talking like a barbarian'
;

randomGreekWord()
{
    local vowels = ['a', 'e', 'e', 'i', 'o', 'y', 'o'];
    local consonants = ['p', 't', 'k', 'b', 'd', 'g', 's', 'm', 'n', 'l', 'r'];
    local clusters =
        ['pn', 'pl', 'pr', 'tm', 'tr', 'kn', 'kl', 'kr', 'bl', 'br'];
    local ends = consonants - ['b', 'd', 'g'];
    local word;
    local retries = 0;
    for (local r in 0 .. -1 step -1)
    {
        for ((r), local i = 0, local j = 2; i < j; ++i, --j)
        {
            for (local s = 0, local n in [90, 30, 10]; ; --s)
                retries -= s * n;
        }
    }
    retries *= 2;
    retries >>= 1;
    retries /= 2;
    retries <<= 1;
    retries >>>= 2;
    retries %= 16;
    retries &= ~1;
    retries |= 2;
    retries ^= retries ^ retries;
    do
    {
        word = rand('[ptkbdgsm]?');
        for (local i in 0 .. __TADS3)
            word += concat(rand(rand('', clusters, consonants)), rand('"h"?'),
                           rand(vowels...), rand('','', 'i', 'u', rand(ends)));
        word += rand('"s"?');
        word = rexReplace(R'^[pk](?![tnlrhaeioy]|[tnlr]h?[^aeioy])', word, '');
        word = rexReplace(R'^b(?![dlrhaeioy]|[dlr]h?[^aeioy])', word, '');
        word = rexReplace(R'^g(?![nlrhaeioy]|[nlr]h?[^aeioy])', word, '');
        word = rexReplace(R'^t(?![mrhaeioy]|[mlr]h?[^aeioy])', word, '');
        word = rexReplace(R'^d(?![rhaeioy]|rh?[^aeioy])', word, '');
        word = rexReplace(R'^m(?![nhaeioy]|nh?[^aeioy])', word, '');
        word = rexReplace(R'^[^aeioy]h?(([^haeioy]h?){2})', word, '%1');
        word = rexReplace(R'[ptkbdgs]([ptkbdg][^haeioy])', word, '%1');
        word = rexReplace(R'([mnlr])h', word, 'h%1');
        word = rexReplace(R'(?<!(^|[ptk]))h', word, '');
        word = rexReplace(R'^h(?![aeioy])', word, '');
        word = rexReplace(R'h(?=.*h)', word, '');
        word = rexReplace(R'(?<=^|r)r', word, 'rh');
        word = rexReplace(R'([iy]+)[iu]', word, '%1');
        word = rexReplace(R'nl', word, 'll');
        word = rexReplace(R'n(?=[pbm])', word, 'm');
        word = rexReplace(R'(?<.)m(?=[tdn])', word, 'n');
        word = rexReplace(R'pb|bp', word, 'pp');
        word = rexReplace(R'td|dt', word, 'tt');
        word = rexReplace(R'kg|gk', word, 'kk');
        word = rexReplace(R'bs', word, 'ps');
        word = rexReplace(R'ds|sd', word, 'z');
        word = rexReplace(R'gs', word, 'ks');
        word = rexReplace(R'ts', word, 'ss');
        word = rexReplace(R'[^pkaeioyusnr]+(s?)$', word, '%1');
        word = rexReplace(R'[pk]+$', word, '');
        word = rexReplace(R'(.h?)%1{2,}', word, '%1%1');
        word = rexReplace(R'^(.h?)%1', word, '%1');
        word = rexReplace(R'(.h?)%1$', word, '%1');
        word = rexReplace(R'^y', word, 'hy');
        word = rexReplace(R'([ptk])([ptk])h', word, '%1h%2h');
        word = rexReplace(R'([ptk])h%1h', word, '%1%1h');
        word = rexReplace(R'ks', word, 'x');
        word = rexReplace(R'gg', word, 'kg');
        word = rexReplace(R'kh', word, 'ch');
    } while (retries-- && (word.length() < 4 || !rexSearch(
        new RexPattern('^(eu|hy|[pgm]n|bd|tm|rh)|(.h.|pp|kc|rr)h|ch([^aeioy])|'
                       + '([^aeioy])y([^aeioy])$|(ps|x|o[ius])$'), word)));
    return word;
}

---tokens---
'#charset "utf-8"\n' Comment.Preproc

'\n'          Text

'#include <adv3.h>\n' Comment.Preproc

'#include <en_us.h>\n' Comment.Preproc

'\n'          Text

''            Text
'extern'      Keyword.Reserved
' '           Text
'function'    Keyword.Reserved
' '           Text
'extern_function' Name.Function
';'           Punctuation
'\n'          Text

''            Text
'extern'      Keyword.Reserved
' '           Text
'method'      Keyword.Reserved
' '           Text
'extern_method' Name.Function
';'           Punctuation
'\n'          Text

''            Text
'extern'      Keyword.Reserved
' '           Text
'function'    Keyword.Reserved
' '           Text
''            Text
'extern_function' Name.Function
'('           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
'='           Punctuation
'a'           Name
''            Text
','           Punctuation
' '           Text
'c'           Name.Variable
'='           Punctuation
"'"           Literal.String.Single
'<<'          Literal.String.Interpol
'a'           Name
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
''            Text
','           Punctuation
' '           Text
'd'           Name.Variable
':'           Punctuation
','           Punctuation
' '           Text
'e'           Name.Variable
':'           Punctuation
'='           Punctuation
'1'           Literal.Number.Integer
''            Text
','           Punctuation
' '           Text
'f'           Name.Variable
'?'           Punctuation
','           Punctuation
' '           Text
'...'         Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text

''            Text
'extern'      Keyword.Reserved
' '           Text
'method'      Keyword.Reserved
' '           Text
''            Text
'extern_method' Name.Function
'('           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
'='           Punctuation
'a'           Name
''            Text
','           Punctuation
' '           Text
'c'           Name.Variable
'='           Punctuation
"'"           Literal.String.Single
'<<'          Literal.String.Interpol
'a'           Name
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
''            Text
','           Punctuation
' '           Text
'd'           Name.Variable
':'           Punctuation
','           Punctuation
' '           Text
'e'           Name.Variable
':'           Punctuation
'='           Punctuation
'1'           Literal.Number.Integer
''            Text
','           Punctuation
' '           Text
'f'           Name.Variable
'?'           Punctuation
','           Punctuation
' '           Text
'['           Punctuation
'g'           Name.Variable
']'           Punctuation
')'           Punctuation
';'           Punctuation
';'           Punctuation
'\n'          Text

''            Text
'extern'      Keyword.Reserved
' '           Text
'class'       Keyword.Reserved
' '           Text
'extern_class' Name.Class
';'           Punctuation
'\n'          Text

''            Text
'extern'      Keyword.Reserved
' '           Text
'object'      Keyword.Reserved
' '           Text
'extern_object' Name.Class
';'           Punctuation
'\n'          Text

''            Text
'intrinsic'   Keyword.Reserved
' '           Text
"'"           Literal.String.Single
't3vm'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
'{'           Punctuation
' '           Text
'}'           Punctuation
';'           Punctuation
'\n'          Text

'#ifndef PropDefAny\n' Comment.Preproc

''            Text
'intrinsic'   Keyword.Reserved
' '           Text
'class'       Keyword.Reserved
' '           Text
'Object'      Name.Class
' '           Text
"'"           Literal.String.Single
'root-object/030004' Literal.String.Single
"'"           Literal.String.Single
' '           Text
'{'           Punctuation
' '           Text
'}'           Punctuation
';'           Punctuation
'\n'          Text

'#endif\n'    Comment.Preproc

''            Text
'object'      Keyword.Reserved
' '           Text
'/**/'        Comment.Multiline
'/**/'        Comment.Multiline
' '           Text
'// /* \\\\\n#define Room Unthing' Comment.Single
'\n'          Text

'    '        Text
'template'    Keyword.Reserved
' '           Text
'['           Punctuation
'lst'         Name.Variable
']'           Punctuation
''            Text
';'           Punctuation
'\n\n'        Text

'/*\n *   Quotations from "Le Roman de la Rose" are transcribed from MS. Douce 195,\n *   owned by Bodleian Library, University of Oxford\n *   (http://image.ox.ac.uk/show?collection=bodleian&manuscript=msdouce195).\n */' Comment.Multiline
'\n\n'        Text

''            Text
'versionInfo' Name.Class
':'           Punctuation
' '           Text
'GameID'      Name.Class
'\n'          Text

'    '        Text
'IFID'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'17d8efc3-07da-4dde-a837-ff7c4e386a77' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'name'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'Pygmentalion' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'byline'      Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'by David Corbett' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'htmlByline'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'by '         Literal.String.Single
'<a'          Name.Tag
' '           Text
'href'        Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'mailto:corbett.dav' Literal.String.Double
'\\100'       Literal.String.Escape
'husky.neu.edu' Literal.String.Double
'"'           Literal.String.Double
'>'           Name.Tag
'David\n        Corbett' Literal.String.Single
'</a'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'version'     Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'1'           Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'authorEmail' Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'David Corbett' Literal.String.Single
'\\040'       Literal.String.Escape
'<corbett.dav\\x40husky.neu.edu' Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'desc'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'You have fallen in love with a statue' Literal.String.Single
'\\x2e'       Literal.String.Escape
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'htmlDesc'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'You have fallen in love with a statue' Literal.String.Single
'\\x2E'       Literal.String.Escape
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'/*\n *   Pymalion fu ẽtailleꝛꝛes.\n *   Poᷣtrayãs en fus ⁊ en peꝛꝛeˢ\n *   En metaulx en os ⁊ en cyꝛes\n *   Et en touteˢ aultres matires.\n *   Quon peult a tel oeuure trouuer.\n *   Poᷣ ſon grant engin eſpꝛouuer.\n *   Car maiſtre en fu bien dire loz.\n *   Ainſi com poᷣ acquerre loz\n *   Se voult a poᷣtraire deduyꝛe\n *   Si fiſt vng ymage diuuyꝛe\n *   Et miſt au faire tel entente\n *   Quel fu ſi plaiſãt et ſi gente\n *   Quel ſembloit eſtre auſſi viue.\n *   Com la plus belle riens q̇ viue\n *      (MS. Douce 195, fol. 149r)\n */' Comment.Multiline
'\n\n'        Text

''            Text
'modify'      Keyword.Reserved
' '           Text
'_init'       Name.Function
'('           Punctuation
')'           Punctuation
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
''            Text
'('           Punctuation
'{'           Punctuation
':'           Punctuation
' '           Text
'local'       Keyword.Reserved
' '           Text
'r'           Name.Variable
','           Punctuation
' '           Text
'r'           Name
' '           Text
'='           Operator
' '           Text
'randomize'   Name
','           Punctuation
' '           Text
'r'           Name
'}'           Punctuation
')'           Punctuation
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'replaced'    Name.Builtin
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

''            Text
'gameMain'    Name.Class
':'           Punctuation
' '           Text
'GameMainDef' Name.Class
'\n'          Text

'    '        Text
'initialPlayerChar' Name.Variable
':'           Punctuation
' '           Text
'Actor'       Name.Class
' '           Text
'{'           Punctuation
'\n'          Text

'        '    Text
'desc'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
'"'           Literal.String.Double
'You look the same as usual, but you feel unusually\n            sentimental. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'        '    Text
'location'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
'entrance'    Name
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'showIntro'   Name.Function
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'"'           Literal.String.Double
'The statue is undeniably a masterpiece: the most skillful carving you\n        have ever done, and the most beautiful woman you have ever seen.\n        Unfortunately, she is also an inanimate block, and now you can neither\n        work nor rest for unrequitable love.' Literal.String.Double
'\\b'         Literal.String.Escape
'\n        Once again you stumble into your studio, hoping and praying to find\n        your statue brought to life.' Literal.String.Double
'\\b'         Literal.String.Escape
'\n        '  Literal.String.Double
'<b'          Name.Tag
'>'           Name.Tag
'<<'          Literal.String.Interpol
'versionInfo' Name
'.'           Operator
'name'        Name
'>>'          Literal.String.Interpol
'</b'         Name.Tag
'>'           Name.Tag
'\\r'         Literal.String.Escape
'\\n'         Literal.String.Escape
'\n        '  Literal.String.Double
'<<'          Literal.String.Interpol
'versionInfo' Name
'.'           Operator
'byline'      Name
'>>'          Literal.String.Interpol
'\\b'         Literal.String.Escape
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

''            Text
'enum'        Keyword.Reserved
' '           Text
'token'       Keyword
' '           Text
'token'       Name.Constant
','           Punctuation
' '           Text
'tokOp'       Name.Constant
','           Punctuation
' '           Text
'token'       Name.Constant
';'           Punctuation
'\n\n'        Text

''            Text
'modify'      Keyword.Reserved
' '           Text
''            Text
'cmdTokenizer' Name.Class
'\n'          Text

'    '        Text
'rules_'      Name.Variable
' '           Text
'='           Punctuation
' '           Text
'static'      Keyword.Reserved
'\n'          Text

'    '        Text
'['           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'whitespace'  Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'%s+'         Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'&'           Operator
'tokCvtSkip'  Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'punctuation' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'[.,;:?!]'    Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
' '           Text
'tokPunct'    Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'spelled number' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'         '   Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'<NoCase'     Name.Tag
'>'           Name.Tag
'(twenty|thirty|forty|fifty|sixty|' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'                        ' Text
'+'           Operator
' '           Text
"'"           Literal.String.Single
'seventy|eighty|ninety)-' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'                        ' Text
'+'           Operator
' '           Text
"'"           Literal.String.Single
'(one|two|three|four|five|six|seven|eight|nine)' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'                        ' Text
'+'           Operator
' '           Text
"'"           Literal.String.Single
'(?!'         Literal.String.Single
'<AlphaNum'   Name.Tag
'>'           Name.Tag
')'           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
'\n'          Text

'         '   Text
'tokWord'     Name
','           Punctuation
' '           Text
'&'           Operator
'tokCvtSpelledNumber' Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'spelled operator' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
'\n'          Text

'            ' Text
"'"           Literal.String.Single
'<NoCase'     Name.Tag
'>'           Name.Tag
'(plus|positive|minus|negat(iv)?e|not|inverse(%s+of)?|' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'            ' Text
'+'           Operator
' '           Text
"'"           Literal.String.Single
'times|over|divided%s+by|mod(ulo)?|and|xor|or|[al]?sh[lr])' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'            ' Text
'+'           Operator
' '           Text
"'"           Literal.String.Single
'(?!'         Literal.String.Single
'<AlphaNum'   Name.Tag
'>'           Name.Tag
')'           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
'\n'          Text

'         '   Text
'tokOp'       Name
','           Punctuation
' '           Text
'&'           Operator
'tokCvtSpelledOperator' Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'operator'    Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"R'"          Literal.String.Regex
'[-!~+*/%&^|]|<<|>>>?' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'tokOp'       Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'word'        Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'<Alpha|-|&'  Name.Tag
'>'           Name.Tag
'<AlphaNum|-|&|squote' Name.Tag
'>'           Name.Tag
'*'           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
'\n'          Text

'         '   Text
'tokWord'     Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'string ascii-quote' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'R"""'        Literal.String.Regex
'<min>([`'    Literal.String.Regex
'\\'          Literal.String.Regex
"'"           Literal.String.Regex
'"'           Literal.String.Regex
'])(.*)%1(?!<AlphaNum>)' Literal.String.Regex
'"""'         Literal.String.Regex
','           Punctuation
'\n'          Text

'         '   Text
'tokString'   Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'string back-quote' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'R"'          Literal.String.Regex
"<min>`(.*)'(?!%w)" Literal.String.Regex
'"'           Literal.String.Regex
','           Punctuation
' '           Text
'tokString'   Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'string curly single-quote' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'<min'        Name.Tag
'>'           Name.Tag
'\\u2018'     Literal.String.Escape
'(.*)'        Literal.String.Single
'\\u2019'     Literal.String.Escape
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
'\n'          Text

'         '   Text
'tokString'   Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'string curly double-quote' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'<min'        Name.Tag
'>'           Name.Tag
'\\u201C'     Literal.String.Escape
'(.*)'        Literal.String.Single
'\\u201D'     Literal.String.Escape
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
'\n'          Text

'         '   Text
'tokString'   Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'string unterminated' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"R'''"        Literal.String.Regex
'([`'         Literal.String.Regex
"\\'"         Literal.String.Regex
'"'           Literal.String.Regex
'\\'          Literal.String.Regex
'u2018'       Literal.String.Regex
'\\'          Literal.String.Regex
'u201C](.*)'  Literal.String.Regex
"'''"         Literal.String.Regex
','           Punctuation
' '           Text
'tokString'   Name
','           Punctuation
'\n'          Text

'         '   Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
','           Punctuation
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'integer'     Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'[0-9]+'      Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
' '           Text
'tokInt'      Name
','           Punctuation
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'nil'         Keyword.Constant
']'           Punctuation
'\n'          Text

'    '        Text
']'           Punctuation
'\n'          Text

'    '        Text
'replace'     Keyword.Reserved
' '           Text
'tokCvtSpelledOperator' Name.Function
'('           Punctuation
'txt'         Name.Variable
','           Punctuation
' '           Text
'typ'         Name.Variable
','           Punctuation
' '           Text
'toks'        Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'toks'        Name
'.'           Operator
'append'      Name
'('           Punctuation
'['           Punctuation
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'%s+'         Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'txt'         Name
'.'           Operator
'toLower'     Name
'('           Punctuation
')'           Punctuation
','           Punctuation
' '           Text
"'"           Literal.String.Single
'\\\\'        Literal.String.Escape
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
' '           Text
'typ'         Name
','           Punctuation
' '           Text
'txt'         Name
']'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'/* Tokens */' Comment.Multiline
'\n\n'        Text

'/*\n *   Puiˢ li reueſt en maĩteˢ guiſes.\n *   Robeˢ faicteˢ ꝑ grãˢ maiſtriſeˢ.\n *   De biaulx dꝛaps de ſoye ⁊ de laĩe.\n *   Deſcarlate de tiretaine\n *   De vert de pers ⁊ de bꝛunecte\n *   De couleᷣ freſche fine ⁊ necte\n *   Ou moult a riches paneˢ miſes.\n *   Herminees vaires et griſes\n *   Puis les li roſte puis reſſaye.\n *   Cõmant li ſiet robbe de ſaye\n *   Sendaulx meloguins galebꝛunˢ.\n *   Indes vermeilz iaunes ⁊ bꝛunˢ.\n *   [...]\n *   Aultre foiz luy repꝛẽd courage.\n *   De tout oſter ⁊ mectre guindeˢ.\n *   Iaunes vermeilles vers ⁊ indeˢ.\n *      (MS. Douce 195, fol. 150r)\n */' Comment.Multiline
'\n\n'        Text

''            Text
'class'       Keyword.Reserved
' '           Text
'Token'       Name.Class
':'           Punctuation
' '           Text
'Achievement' Name.Class
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
'points'      Name.Variable
' '           Text
'='           Punctuation
' '           Text
'1'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'desc'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
'"'           Literal.String.Double
'<<'          Literal.String.Interpol
'before_'     Name
'>>'          Literal.String.Interpol
'<<'          Literal.String.Interpol
'desc_'       Name
'>>'          Literal.String.Interpol
'<<'          Literal.String.Interpol
'after_'      Name
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'before'      Name.Variable
' '           Text
'='           Punctuation
' '           Text
'before'      Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
','           Operator
' '           Text
'before_'     Name
'\n'          Text

'    '        Text
'after'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'after'       Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
','           Operator
' '           Text
'after_'      Name
')'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

''            Text
'Token'       Name.Class
' '           Text
'template'    Keyword.Reserved
' '           Text
'inherited'   Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'before_'     Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'after_'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'desc_'       Literal.String.Single
"'"           Literal.String.Single
''            Text
';'           Punctuation
'\n\n'        Text

'#define DefineToken(name, before, after) name##Token: Token before after #@name\n' Comment.Preproc

'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'builtin'     Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'g'           Literal.String.Other
'&#x72;'      Name.Entity
'een'         Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'comment'     Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<i'          Name.Tag
'>'           Name.Tag
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'#408080'     Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
'</i'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'decorator'   Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'#aa22ff'     Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'error'       Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<U'          Name.Tag
'>'           Name.Tag
'<FONT'       Name.Tag
' '           Text
'COLOR'       Name.Attribute
'='           Punctuation
'RED'         Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</FONT'      Name.Tag
'>'           Name.Tag
'</U'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'escape'      Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<b'          Name.Tag
'>'           Name.Tag
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'#bb6622'     Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
'</b'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'float'       Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<u'          Name.Tag
'>'           Name.Tag
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'gray'        Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
'</u'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'keyword'     Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<b'          Name.Tag
'>'           Name.Tag
'<font'       Name.Tag
' '           Text
'face'        Name.Attribute
'='           Punctuation
'TADS-Sans'   Literal.String.Other
''            Literal.String.Other
' '           Text
'color'       Name.Attribute
'='           Punctuation
'green'       Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
'</b'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'label'       Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'#A0A000'     Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'long'        Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<i'          Name.Tag
'>'           Name.Tag
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'gray'        Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
'</i'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'name'        Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<u'          Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</u'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'operator'    Keyword.Reserved
','           Operator
' '           Text
''            Text
"'"           Literal.String.Single
'<b'          Name.Tag
'>'           Name.Tag
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'#AA22F'      Literal.String.Double
'&#x46;'      Name.Entity
'\\"'         Literal.String.Double
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
'</b'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'string'      Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'#BA212'      Literal.String.Single
'&#49;'       Name.Entity
"\\'"         Literal.String.Single
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n'          Text

'DefineToken' Name.Function
'('           Punctuation
'whitespace'  Name.Variable
','           Punctuation
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'bgcolor'     Literal.String.Double
'"'           Literal.String.Double
'bgcolor'     Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'text'        Literal.String.Single
"\\'"         Literal.String.Single
'>'           Name.Tag
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
')'           Punctuation
';'           Punctuation
'\n\n'        Text

''            Text
'function'    Keyword.Reserved
' '           Text
''            Text
'highlightToken' Name.Function
'('           Punctuation
'tokenString' Name.Variable
')'           Punctuation
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
''            Text
'local'       Keyword.Reserved
' '           Text
'token'       Name.Variable
' '           Text
'='           Operator
' '           Text
'['           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'built in'    Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'builtinToken' Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'comment'     Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'commentToken' Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'decorator'   Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'decoratorToken' Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'error'       Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'errorToken'  Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'escape'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'escapeToken' Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'float'       Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'floatToken'  Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'keyword'     Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'keywordToken' Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'label'       Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'labelToken'  Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'long'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'longToken'   Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'name'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'nameToken'   Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'operator'    Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'operatorToken' Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'string'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'stringToken' Name
','           Punctuation
'\n'          Text

'        '    Text
"'"           Literal.String.Single
'white space' Literal.String.Single
"'"           Literal.String.Single
' '           Text
'->'          Punctuation
' '           Text
'whitespaceToken' Name
','           Punctuation
'\n'          Text

'        '    Text
'*'           Punctuation
' '           Text
'->'          Punctuation
' '           Text
'nil'         Keyword.Constant
'\n'          Text

'    '        Text
']'           Punctuation
'['           Punctuation
'tokenString' Name
'.'           Operator
'toLower'     Name
'('           Punctuation
')'           Punctuation
']'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'!'           Operator
'token'       Name
')'           Punctuation
'\n'          Text

'        '    Text
''            Text
'return'      Keyword.Reserved
' '           Text
'tokenString' Name
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'token'       Name
'.'           Operator
'awardPointsOnce' Name
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'<<'          Literal.String.Interpol
'token'       Name
'.'           Operator
'before'      Name
'>>'          Literal.String.Interpol
'<<'          Literal.String.Interpol
'tokenString' Name
'>>'          Literal.String.Interpol
'<<'          Literal.String.Interpol
'token'       Name
'.'           Operator
'after'       Name
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

''            Text
'string'      Keyword
' '           Text
'/**/'        Comment.Multiline
'/**/'        Comment.Multiline
' '           Text
'// /* \\\\\n#define Room Unthing' Comment.Single
'\n'          Text

'    '        Text
'template'    Keyword.Reserved
' '           Text
'<<highlight *>>' Literal.String.Interpol
' '           Text
'highlightToken' Name.Function
';'           Punctuation
'\n\n'        Text

'/* Grammar for materials */' Comment.Multiline
'\n\n'        Text

''            Text
'dictionary'  Keyword.Reserved
' '           Text
'property'    Keyword.Reserved
' '           Text
'material'    Name.Constant
';'           Punctuation
'\n'          Text

''            Text
'grammar'     Keyword.Reserved
' '           Text
'adjWord'     Name.Class
'('           Punctuation
'material'    Literal.String.Other
')'           Punctuation
':'           Punctuation
' '           Text
'<'           Punctuation
'material'    Name.Constant
' '           Text
'material'    Name.Constant
'>'           Punctuation
'->'          Punctuation
'adj_'        Name.Constant
' '           Text
':'           Punctuation
' '           Text
'AdjPhraseWithVocab' Name.Class
'\n'          Text

'    '        Text
'getVocabMatchList' Name.Function
'('           Punctuation
'resolver'    Name.Variable
','           Punctuation
' '           Text
'results'     Name.Variable
','           Punctuation
' '           Text
'extraFlags'  Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'return'      Keyword.Reserved
' '           Text
'getWordMatches' Name
'('           Punctuation
'adj_'        Name
','           Punctuation
' '           Text
'&'           Operator
'material'    Name
','           Punctuation
' '           Text
'resolver'    Name
','           Punctuation
' '           Text
'extraFlags'  Name
','           Punctuation
'\n'          Text

'                              ' Text
'VocabTruncated' Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'getAdjustedTokens' Name.Function
'('           Punctuation
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'return'      Keyword.Reserved
' '           Text
'['           Punctuation
'adj_'        Name
','           Punctuation
' '           Text
'&'           Operator
'material'    Name
']'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'/* Rooms and objects */' Comment.Multiline
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'property'    Keyword.Reserved
' '           Text
'location'    Name.Constant
';'           Punctuation
'\n\n'        Text

''            Text
'entrance'    Name.Class
':'           Punctuation
' '           Text
'Room'        Name.Class
' '           Text
"'"           Literal.String.Single
'Entrance'    Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'You are in the entrance to your studio. This is where you carve great\n    works of art, not that you have felt like making any lately. A door leads\n    outside, and the studio itself is to the north and the east. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'north'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'workbenchRoom' Name
'\n'          Text

'    '        Text
'northeast'   Name.Variable
' '           Text
'='           Punctuation
' '           Text
'sinkRoom'    Name
'\n'          Text

'    '        Text
'east'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
'altarRoom'   Name
'\n'          Text

'    '        Text
'south'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'door'        Name
'\n'          Text

'    '        Text
'out'         Name.Variable
' '           Text
'asExit'      Name
'('           Punctuation
'south'       Name
')'           Punctuation
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'door'        Name.Class
':'           Punctuation
' '           Text
'LockableWithKey' Name.Class
','           Punctuation
' '           Text
'Door'        Name.Class
' '           Text
"'"           Literal.String.Single
'door'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'door'        Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'It is a simple wooden door. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'material'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'wood'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'wooden'      Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'keyList'     Name.Variable
' '           Text
'='           Punctuation
' '           Text
'['           Punctuation
'key'         Name
']'           Punctuation
'\n'          Text

'    '        Text
'cannotOpenLockedMsg' Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'{The dobj/He}' Literal.String.Interpol
' '           Literal.String.Single
'{is}'        Literal.String.Interpol
' locked. You cannot\n        ' Literal.String.Single
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'escape'      Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'! '          Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

''            Text
'key'         Name.Class
':'           Punctuation
' '           Text
'PresentLater' Name.Class
','           Punctuation
' '           Text
'Key'         Name.Class
' '           Text
"'"           Literal.String.Single
'key'         Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'key'         Literal.String.Single
"'"           Literal.String.Single
' '           Text
'@'           Punctuation
'altar'       Name
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'It is a '    Literal.String.Double
'<<unless'    Literal.String.Interpol
' '           Text
'clean'       Name
'>>'          Literal.String.Interpol
'grimy'       Literal.String.Double
'<<end>>'     Literal.String.Interpol
' bronze key. ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'clean'       Name
'>>'          Literal.String.Interpol
'On it is '   Literal.String.Double
'\\\n'        Literal.String.Escape

'    etched the word ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'<<'          Literal.String.Interpol
'keyword'     Name
'>>'          Literal.String.Interpol
'</q'         Name.Tag
'>'           Name.Tag
'. '          Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'material'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'bronze'      Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'clean'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'nil'         Keyword.Constant
'\n'          Text

'    '        Text
'keyword'     Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'keyword'     Name
' '           Text
'='           Operator
' '           Text
'randomGreekWord' Name
'('           Punctuation
')'           Punctuation
','           Operator
' '           Text
'targetprop'  Name.Builtin
')'           Punctuation
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'Clean'       Name.Variable
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
' '           Text
'}'           Punctuation
' '           Text
''            Text
'action'      Name
' '           Text
'{'           Punctuation
' '           Text
''            Text
'askForIobj'  Name
'('           Punctuation
'CleanWith'   Name
')'           Punctuation
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'CleanWith'   Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'clean'       Name
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'illogicalAlready' Name
'('           Punctuation
"'"           Literal.String.Single
'{The dobj/He}' Literal.String.Interpol
' '           Literal.String.Single
'{is}'        Literal.String.Interpol
' already clean. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'action'      Name
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'gDobj'       Name
'.'           Operator
'clean'       Name
' '           Text
'='           Operator
' '           Text
'true'        Keyword.Constant
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'{You/He}'    Literal.String.Interpol
' clean'      Literal.String.Double
'{s}'         Literal.String.Interpol
' '           Literal.String.Double
'{the dobj/him}' Literal.String.Interpol
', revealing an inscription. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'Read'        Name.Variable
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
' '           Text
''            Text
'nonObvious'  Name
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

''            Text
'workbenchRoom' Name.Class
':'           Punctuation
' '           Text
'Room'        Name.Class
' '           Text
"'"           Literal.String.Single
'At the Workbench' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'This workbench, in the northwest part of the studio, was where you would\n    create works of art. Now you just come here to contemplate your\n    creation' Literal.String.Double
'&rsquo;'     Name.Entity
's beauty and lament your hopeless situation.' Literal.String.Double
'\\b'         Literal.String.Escape
'\n    The statue stands on a plinth beside the workbench. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'east'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
'sinkRoom'    Name
'\n'          Text

'    '        Text
'southeast'   Name.Variable
' '           Text
'='           Punctuation
' '           Text
'altarRoom'   Name
'\n'          Text

'    '        Text
'south'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'entrance'    Name
'\n'          Text

'    '        Text
'getDestName' Name.Function
'('           Punctuation
'actor'       Name.Variable
','           Punctuation
' '           Text
'origin'      Name.Variable
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'the workbench' Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'workbench'   Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
','           Punctuation
' '           Text
'Surface'     Name.Class
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'workbench/bench/material/materials/tool/tools' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'workbench'   Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'Normally, the workbench would be scattered with half-finished projects,\n    but now your tools and materials lie abandoned. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'plinth'      Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
','           Punctuation
' '           Text
'Thing'       Name.Class
' '           Text
"'"           Literal.String.Single
'marble plinth/pedestal' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'plinth'      Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'It'          Literal.String.Double
'&rsquo;'     Name.Entity
's a smoothed block of marble about a cubit high. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

';'           Punctuation
'\n\n'        Text

''            Text
'replace'     Keyword.Reserved
' '           Text
''            Text
'grammar'     Keyword.Reserved
' '           Text
'predicate'   Name.Class
'('           Punctuation
'Screw'       Literal.String.Other
')'           Punctuation
':'           Punctuation
' '           Text
"'"           Literal.String.Single
' '           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
' '           Text
'object'      Keyword.Reserved
';'           Punctuation
'\n'          Text

''            Text
'replace'     Keyword.Reserved
' '           Text
''            Text
'grammar'     Keyword.Reserved
' '           Text
'predicate'   Name.Class
'('           Punctuation
'ScrewWith'   Literal.String.Other
')'           Punctuation
':'           Punctuation
' '           Text
"'"           Literal.String.Single
' '           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
' '           Text
'object'      Keyword.Reserved
';'           Punctuation
'\n'          Text

'+'           Punctuation
' '           Text
'+'           Punctuation
' '           Text
''            Text
'statue'      Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
','           Punctuation
' '           Text
'Surface'     Name.Class
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'"creation'   Literal.String.Single
"\\'"         Literal.String.Escape
's" beauty/carving/creation/galatea/statue/woman' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'statue'      Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'This is a'   Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'nameToken'   Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'n untitled'  Literal.String.Double
'<<end>>'     Literal.String.Interpol
' statue of a woman\n    carved from ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'errorToken'  Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'flawless '   Literal.String.Double
'<<end>>'     Literal.String.Interpol
'\n    '      Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'whitespaceToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'milk-white ' Literal.String.Double
'<<end>>'     Literal.String.Interpol
'ivory.\n    ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'escapeToken' Name
'.'           Operator
'scoreCount'  Name
' '           Text
'||'          Operator
' '           Text
'longToken'   Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'Her\n    '   Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'longToken'   Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'long '       Literal.String.Double
'<<end>>'     Literal.String.Interpol
'hair is done up in a\n    chignon' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'escapeToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
', with a few strands falling down her\n    neck' Literal.String.Double
'<<end>>'     Literal.String.Interpol
'<<if'        Literal.String.Interpol
' '           Text
'floatToken'  Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
', and '      Literal.String.Double
'\\v'         Literal.String.Escape
'<<else>>'    Literal.String.Interpol
'.'           Literal.String.Double
'<<end>>'     Literal.String.Interpol
'<<end>>'     Literal.String.Interpol
'\n    '      Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'floatToken'  Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'She radiates an aura of contrapposto grace.\n    ' Literal.String.Double
'<<end>>'     Literal.String.Interpol
'<<if'        Literal.String.Interpol
' '           Text
'keywordToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'\\b'         Literal.String.Escape
'You wonder what she\n    ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'labelToken'  Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'is going to' Literal.String.Double
'<<else>>'    Literal.String.Interpol
'will'        Literal.String.Double
'<<end>>'     Literal.String.Interpol
' be like as a\n    woman.\n    ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'decoratorToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'Maybe she'   Literal.String.Double
'&rsquo;'     Name.Entity
'll be a painter and expand\n    your business.' Literal.String.Double
'<<end>>'     Literal.String.Interpol
'\n    '      Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'operatorToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'Maybe she'   Literal.String.Double
'&rsquo;'     Name.Entity
'll have a head for figures\n    and will put the accounts in order.' Literal.String.Double
'<<end>>'     Literal.String.Interpol
'\n    '      Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'builtinToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'She'         Literal.String.Double
'&rsquo;'     Name.Entity
'll love you, obviously, but beyond\n    that you don' Literal.String.Double
'&rsquo;'     Name.Entity
't know.'     Literal.String.Double
'<<end>>'     Literal.String.Interpol
'<<end>>'     Literal.String.Interpol
'\n    '      Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'commentToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'If only Aphrodite would bring her to life\n    without this silly puzzle about tokens and mirrors!' Literal.String.Double
'<<end>>'     Literal.String.Interpol
' '           Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'material'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'ivory'       Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'propertyset' Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'is*'         Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
'propertyset' Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'H*'          Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
'im'          Name.Variable
' '           Text
'='           Punctuation
' '           Text
'nil'         Keyword.Constant
'\\\n            ' Text
'er'          Name.Variable
' '           Text
'='           Punctuation
' '           Text
'true'        Keyword.Constant
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
'It'          Name.Variable
' '           Text
'='           Punctuation
' '           Text
'true'        Keyword.Constant
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'PutOn'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'check'       Name
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'gDobj'       Name
' '           Text
'not'         Operator.Word
' '           Text
'/**/'        Comment.Multiline
'/**/'        Comment.Multiline
' '           Text
'// /* \\\\\n#define Room Unthing' Comment.Single
'\n'          Text

'                ' Text
'in'          Operator.Word
' '           Text
'('           Punctuation
'necklace'    Name
','           Punctuation
' '           Text
'__objref'    Operator.Word
'('           Operator
'necklace'    Name
','           Punctuation
' '           Text
'warn'        Keyword
')'           Operator
')'           Punctuation
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'How rude! You don' Literal.String.Double
'&rsquo;'     Name.Entity
't know what you were thinking. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'GiveTo'      Name.Variable
')'           Punctuation
' '           Text
'remapTo'     Name.Function
'('           Punctuation
'PutOn'       Name.Variable
','           Punctuation
' '           Text
'DirectObject' Name.Variable
','           Punctuation
' '           Text
'IndirectObject' Name.Variable
')'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+++'         Punctuation
' '           Text
''            Text
'necklace'    Name.Class
':'           Punctuation
' '           Text
'Wearable'    Name.Class
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'pearl necklace/string pearls' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'string'      Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' of pearls'  Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'This is a masterfully crafted pearl necklace. You hope the statue\n    won' Literal.String.Double
'&rsquo;'     Name.Entity
't mind if you hold onto it for a while. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'initDesc'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
'"'           Literal.String.Double
'You gave the statue this pearl necklace yesterday. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'isPlural'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
'true'        Keyword.Constant
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

''            Text
'altarRoom'   Name.Class
':'           Punctuation
' '           Text
'Room'        Name.Class
' '           Text
"'"           Literal.String.Single
'At the Altar' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'Light from the window illuminates a crude altar. Until recently, this\n    corner was your bedroom. The rest of the studio lies north and west. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'north'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'sinkRoom'    Name
'\n'          Text

'    '        Text
'northwest'   Name.Variable
' '           Text
'='           Punctuation
' '           Text
'workbenchRoom' Name
'\n'          Text

'    '        Text
'west'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
'entrance'    Name
'\n'          Text

'    '        Text
'getDestName' Name.Function
'('           Punctuation
'actor'       Name.Variable
','           Punctuation
' '           Text
'origin'      Name.Variable
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'the altar'   Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'window'      Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
' '           Text
"'"           Literal.String.Single
'window'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'window'      Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'It'          Literal.String.Double
'&rsquo;'     Name.Entity
's just a window above the altar. ' Literal.String.Double
'<<one of>>'  Literal.String.Interpol
'The space under the\n    window is blank; as an interior ' Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'decorator'   Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
', you can'   Literal.String.Double
'&rsquo;'     Name.Entity
't\n    help but think the wall would benefit from a bas-relief, but ' Literal.String.Double
'&ndash;'     Name.Entity
'\n    '      Literal.String.Double
'<i'          Name.Tag
'>'           Name.Tag
'sigh'        Literal.String.Double
'</i'         Name.Tag
'>'           Name.Tag
' '           Literal.String.Double
'&endash'     Name.Entity
' you are too lovelorn to wield the chisel. ' Literal.String.Double
'<<||>>'      Literal.String.Interpol
'The\n    wall right below it is a boring ' Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'white space' Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'. '          Literal.String.Double
'<<stopping>>' Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'altar'       Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
','           Punctuation
' '           Text
'Surface'     Name.Class
' '           Text
"'"           Literal.String.Single
'crude rough altar/banker/slab' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'altar'       Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'A rough marble slab lies on a wooden banker. In your rush to construct an\n    altar, you neglected the usual surface finish and friezes, but you pray at\n    it anyway. You are sure the gods will understand. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'material'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'marble'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'wood'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'wooden'      Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'bulkCapacity' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'1'           Literal.Number.Integer
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'PrayAt'      Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'action'      Name
'('           Punctuation
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
'/*\n             *   Biaulx dieux diſt il tout ce poez.\n             *   Sil voꝰ plaiſt ma requeſte oez\n             *   [...]\n             *   Et la belle q̇ mon cueᷣ emble\n             *   Qui ſi bien yuoyꝛe reſſemble.\n             *   Deuiengne ma loyal amye\n             *   De fẽme ait coꝛps ame et vie\n             *      (MS. Douce 195, fol. 151r)\n             */' Comment.Multiline
'\n'          Text

'            ' Text
''            Text
'local'       Keyword.Reserved
' '           Text
'offering'    Name.Variable
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'foreach'     Keyword.Reserved
' '           Text
'('           Punctuation
'offering'    Name
' '           Text
'in'          Keyword
' '           Text
'contents'    Name
')'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'!'           Operator
'keywordToken' Name
'.'           Operator
'scoreCount'  Name
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'<<one of>>'  Literal.String.Interpol
'<q'          Name.Tag
'>'           Name.Tag
'O Aphrodite,' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' you say, '  Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'comforter of\n                hopeless lovers, hear my prayer! May she to whom I have given\n                my heart be given body, soul, and life. And a colorful\n                personality. And' Literal.String.Double
'&mdash'      Name.Entity
'</q'         Name.Tag
'>'           Name.Tag
'\\b'         Literal.String.Escape
'\n                You are interrupted by a shimmering about the altar. As you\n                watch, it takes the form of a callipygian goddess.' Literal.String.Double
'\\b'         Literal.String.Escape
'\n                ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'Mortal, I have heard your heart-felt and oft-repeated plea,\n                and I will take pity on you,' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' says Aphrodite. ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'If you give\n                me a token of your love as an offering, I will give you the\n                ' Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'keyword'     Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' of life. Speak this word in the\n                presence of a mirror, and I will grant your request.' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
'\\b'         Literal.String.Escape
'\n                She fades away, adding, ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'As for her colorful personality,\n                just look around you.' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' '           Literal.String.Double
'<<or>>'      Literal.String.Interpol
'<<stopping>>' Literal.String.Interpol
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'else'        Keyword.Reserved
' '           Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'key'         Name
'.'           Operator
'location'    Name
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'O Aphrodite,' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' you say, '  Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'what am I supposed to do\n                again?' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
'\\b'         Literal.String.Escape
'The goddess reappears and reminds you to speak the\n                keyword of life at a mirror. ' Literal.String.Double
'<<one of>>'  Literal.String.Interpol
'<q'          Name.Tag
'>'           Name.Tag
'What'        Literal.String.Double
'&rsquo;'     Name.Entity
's the\n                keyword, then?' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' '           Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'Gods help those who help themselves.\n                Figure it out yourself.' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
'<<or>>'      Literal.String.Interpol
'<q'          Name.Tag
'>'           Name.Tag
'Why a mirror?' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' '           Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'I like\n                mirrors.' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
'<<purely at random>>' Literal.String.Interpol
' '           Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'else'        Keyword.Reserved
' '           Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'offering'    Name
' '           Text
'=='          Operator
' '           Text
'necklace'    Name
')'           Punctuation
'\n'          Text

'            ' Text
'{'           Punctuation
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'Aphrodite reappears. ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'A necklace! Perfect!' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' The necklace\n                disappears in a bright flash. When your eyes readjust, you see\n                a key lying in its place. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'necklace'    Name
'.'           Operator
'moveInto'    Name
'('           Punctuation
'nil'         Keyword.Constant
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'key'         Name
'.'           Operator
'makePresent' Name
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
'}'           Punctuation
'\n'          Text

'            ' Text
''            Text
'else'        Keyword.Reserved
' '           Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'+'           Operator
'offering'    Name
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'Aphrodite reappears. She eyes ' Literal.String.Double
'<<'          Literal.String.Interpol
'offering'    Name
'.'           Operator
'theNameObj'  Name
'>>'          Literal.String.Interpol
'\n                skeptically. ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'<<one of>>'  Literal.String.Interpol
'No '         Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'comment'     Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'.'           Literal.String.Double
'<<or>>'      Literal.String.Interpol
'You\n                call ' Literal.String.Double
'<i'          Name.Tag
'>'           Name.Tag
'that'        Literal.String.Double
'</i'         Name.Tag
'>'           Name.Tag
' a token of love?' Literal.String.Double
'<<or>>'      Literal.String.Interpol
'\\^'         Literal.String.Escape
'<<'          Literal.String.Interpol
'offering'    Name
'.'           Operator
'aNameObj'    Name
'>>'          Literal.String.Interpol
'?\n                Really?' Literal.String.Double
'<<or>>'      Literal.String.Interpol
'Come on, mortal, it' Literal.String.Double
'&rsquo;'     Name.Entity
's not that\n                difficult!' Literal.String.Double
'<<then at random>>' Literal.String.Interpol
'</q'         Name.Tag
'>'           Name.Tag
' '           Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'else'        Keyword.Reserved
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'I heard you the first time,' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' says Aphrodite. ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'Prove\n                your devotion by offering a token of your love at the altar,\n                or the deal' Literal.String.Double
'&rsquo;'     Name.Entity
's off.'      Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' '           Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'GiveTo'      Name.Variable
')'           Punctuation
' '           Text
'remapTo'     Name.Function
'('           Punctuation
'PutOn'       Name.Variable
','           Punctuation
' '           Text
'DirectObject' Name.Variable
','           Punctuation
' '           Text
'IndirectObject' Name.Variable
')'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

''            Text
'aphrodite'   Name.Class
':'           Punctuation
' '           Text
'Unthing'     Name.Class
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'(love) aphrodite/cytherea/god/goddess/venus love' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'Aphrodite'   Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'<<if'        Literal.String.Interpol
' '           Text
'gActor'      Name
'.'           Operator
'canSee'      Name
'('           Punctuation
'altar'       Name
')'           Punctuation
'>>'          Literal.String.Interpol
'You can only pray to a god.\n    ' Literal.String.Single
'<<else>>'    Literal.String.Interpol
'You need an altar to interact with a god. ' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'location'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'gPlayerChar' Name
')'           Punctuation
'\n'          Text

'    '        Text
'isProperName' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'true'        Keyword.Constant
'\n'          Text

'    '        Text
'isHer'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'true'        Keyword.Constant
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'GiveTo'      Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'illogical'   Name
'('           Punctuation
"'"           Literal.String.Single
'She isn'     Literal.String.Single
'&rsquo;'     Name.Entity
't here. You' Literal.String.Single
'&rsquo;'     Name.Entity
'll have to leave ' Literal.String.Single
'{the\n                dobj/him}' Literal.String.Interpol
' somewhere she can find it. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'PrayAt'      Name.Variable
')'           Punctuation
' '           Text
'maybeRemapTo' Name.Function
'('           Punctuation
'gActor'      Name.Variable
'.'           Operator
'canSee'      Name
'('           Punctuation
'altar'       Name
')'           Punctuation
','           Punctuation
' '           Text
'PrayAt'      Name.Variable
','           Punctuation
' '           Text
'altar'       Name.Variable
')'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

''            Text
'sinkRoom'    Name.Class
':'           Punctuation
' '           Text
'Room'        Name.Class
' '           Text
"'"           Literal.String.Single
'Washroom'    Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'Sculpting marble is a dusty business. You use this sink to clean off after\n    a hard day' Literal.String.Double
'&rsquo;'     Name.Entity
's work. Beside the sink is a small end table, and on the\n    wall is a calculator. The rest of the studio is south and west. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'south'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'altarRoom'   Name
'\n'          Text

'    '        Text
'southwest'   Name.Variable
' '           Text
'='           Punctuation
' '           Text
'entrance'    Name
'\n'          Text

'    '        Text
'west'        Name.Variable
' '           Text
'='           Punctuation
' '           Text
'workbenchRoom' Name
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

''            Text
'property'    Keyword.Reserved
' '           Text
'level'       Name.Constant
','           Punctuation
' '           Text
'overflowing' Name.Constant
';'           Punctuation
'\n'          Text

''            Text
'export'      Keyword.Reserved
' '           Text
'overflowing' Name
';'           Punctuation
'\n'          Text

''            Text
'export'      Keyword.Reserved
' '           Text
'level'       Name
' '           Text
''            Text
"'"           Literal.String.Single
'waterLevel'  Literal.String.Single
"'"           Literal.String.Single
';'           Punctuation
'\n'          Text

'+'           Punctuation
' '           Text
''            Text
'sink'        Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
' '           Text
"'"           Literal.String.Single
'(auto) (mop) auto-sink/autosink/bowl/drain/faucet/sink' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'sink'        Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'This is a state-of-the-art mop sink with anti-miasmic coating and bronze\n    backsplash. It is so modern, there are no handles or other obvious ways to\n    turn it on.' Literal.String.Double
'\\b'         Literal.String.Escape
'\n    '      Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'overflowing' Name
'>>'          Literal.String.Interpol
'It is overflowing.\n    ' Literal.String.Double
'<<else unless' Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'<'           Operator
' '           Text
'19500'       Literal.Number.Integer
'>>'          Literal.String.Interpol
'It is full to the brim with water.\n    ' Literal.String.Double
'<<otherwise if' Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>='          Operator
' '           Text
'15000'       Literal.Number.Integer
'>>'          Literal.String.Interpol
'It is full of water.\n    ' Literal.String.Double
'<<otherwise unless' Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'<'           Operator
' '           Text
'10000'       Literal.Number.Integer
'>>'          Literal.String.Interpol
'It is half full of water.\n    ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>='          Operator
' '           Text
'2000'        Literal.Number.Integer
'>>'          Literal.String.Interpol
'There is some water in the sink.\n    ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>'           Operator
' '           Text
'0'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'A small puddle has formed at the bottom of the sink.\n    ' Literal.String.Double
'<<otherwise>>' Literal.String.Interpol
'It is empty.\n    ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'<='          Operator
' '           Text
'-'           Operator
'1.0e+2'      Literal.Number.Float
'>>'          Literal.String.Interpol
'It looks like it hasn' Literal.String.Double
'&rsquo;'     Name.Entity
't been used in a\n    ' Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'long'        Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' time. '     Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'level'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'not'         Name
' '           Text
'in'          Name.Function
' '           Text
'('           Punctuation
'['           Punctuation
'lst'         Name.Variable
']'           Punctuation
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'return'      Keyword.Reserved
' '           Text
'argcount'    Name.Builtin
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'    '        Text
'not'         Name.Variable
' '           Text
'='           Punctuation
' '           Text
'in'          Name
'('           Punctuation
')'           Punctuation
'\n'          Text

'    '        Text
'overflowing' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'nil'         Keyword.Constant
'\n'          Text

'    '        Text
'current'     Name.Variable
' '           Text
'='           Punctuation
' '           Text
'self'        Name.Builtin.Pseudo
'\n'          Text

'    '        Text
'setLevel'    Name.Function
'('           Punctuation
'level'       Name.Variable
':'           Punctuation
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'targetobj'   Name.Builtin
'.'           Operator
'current'     Name
'.'           Operator
'overflowing' Name
' '           Text
'='           Operator
' '           Text
'level'       Name
' '           Text
'=='          Operator
' '           Text
'nil'         Keyword.Constant
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'targetobj'   Name.Builtin
'.'           Operator
'current'     Name
'.'           Operator
'level'       Name
' '           Text
'='           Operator
' '           Text
'min'         Name
'('           Punctuation
'level'       Name
' '           Text
'??'          Operator
' '           Text
'0'           Literal.Number.Integer
','           Punctuation
' '           Text
'20000'       Literal.Number.Integer
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'sink'        Name
'.'           Operator
'overflowing' Name
' '           Text
'||'          Operator
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'>'           Operator
' '           Text
'0e+1'        Literal.Number.Float
')'           Punctuation
'\n'          Text

'            ' Text
''            Text
'sinkWater'   Name
'.'           Operator
'makePresent' Name
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'basin'       Name
'.'           Operator
'overflowing' Name
' '           Text
'||'          Operator
' '           Text
'basin'       Name
'.'           Operator
'level'       Name
' '           Text
'>'           Operator
' '           Text
'0e-1'        Literal.Number.Float
')'           Punctuation
'\n'          Text

'            ' Text
''            Text
'basinWater'  Name
'.'           Operator
'makePresent' Name
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'CleanWith'   Name.Variable
')'           Punctuation
' '           Text
'remapTo'     Name.Function
'('           Punctuation
'CleanWith'   Name.Variable
','           Punctuation
' '           Text
'DirectObject' Name.Variable
','           Punctuation
' '           Text
'sinkWater'   Name.Variable
')'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'++'          Punctuation
' '           Text
''            Text
'sinkWater'   Name.Class
':'           Punctuation
' '           Text
'PresentLater' Name.Class
','           Punctuation
' '           Text
'Fixture'     Name.Class
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'(sink) water sink water' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'water'       Literal.String.Single
"'"           Literal.String.Single
' '           Text
'"'           Literal.String.Double
'<<'          Literal.String.Interpol
'sink'        Name
'.'           Operator
'desc'        Name
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'disambigName' Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'water in the sink' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'Drink'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
' '           Text
''            Text
'illogical'   Name
'('           Punctuation
"'''"         Literal.String.Single
"{You're}"    Literal.String.Interpol
' not thirsty. ' Literal.String.Single
"'''"         Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'CleanWith'   Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'preCond'     Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
']'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'!'           Operator
'location'    Name
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'illogicalNow' Name
'('           Punctuation
"'"           Literal.String.Single
'There is no water in the sink. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'!'           Operator
'sink'        Name
'.'           Operator
'overflowing' Name
' '           Text
'&&'          Operator
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'<'           Operator
' '           Text
'1e2'         Literal.Number.Float
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'illogicalNow' Name
'('           Punctuation
"'"           Literal.String.Single
'There is not enough water in the sink. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'table'       Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
','           Punctuation
' '           Text
'Surface'     Name.Class
' '           Text
"'"           Literal.String.Single
'small end bracket/table' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'table'       Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'<<first time>>' Literal.String.Interpol
'Upon closer inspection, you see that ' Literal.String.Double
'\\v'         Literal.String.Escape
'<<only>>'    Literal.String.Interpol
'The table is\n    bracketed to the wall. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

';'           Punctuation
'\n\n'        Text

'++'          Punctuation
' '           Text
''            Text
'Readable'    Name.Class
' '           Text
"'"           Literal.String.Single
'"operator'   Literal.String.Single
"\\'"         Literal.String.Escape
's" manual'   Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'manual'      Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'<center'     Name.Tag
' '           Text
'>'           Name.Tag
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'Operator'    Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'&rsquo;'     Name.Entity
's Manual'    Literal.String.Double
'<\\center'   Name.Tag
'>'           Name.Tag
'\\b'         Literal.String.Escape
'\n    '      Literal.String.Double
'<bq'         Name.Tag
'>'           Name.Tag
'To control the auto-sink, use the calculator add-on to enter the\n    desired volume of water. For example,' Literal.String.Double
'\\n'         Literal.String.Escape
'\n    '      Literal.String.Double
'\\t'         Literal.String.Escape
'\\t'         Literal.String.Escape
'<<'          Literal.String.Interpol
'aHref'       Name
'('           Punctuation
"'"           Literal.String.Single
'calculate 69 * 105' Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'CALCULATE 69 TIMES 105' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
'>>'          Literal.String.Interpol
'\\n'         Literal.String.Escape
'\n    to fill the basin with ' Literal.String.Double
'<<% ,d'      Literal.String.Interpol
' '           Text
'0x69'        Literal.Number.Hex
' '           Text
'*'           Operator
' '           Text
'0105'        Literal.Number.Oct
'>>'          Literal.String.Interpol
' kochliaria' Literal.String.Double
'<!-- an ancient Greek\n    unit, < 5 ml >' Comment.Multiline
'.'           Literal.String.Double
'\\b'         Literal.String.Escape
'\n    Warning: Do not use big numbers or divide by zero!' Literal.String.Double
'<\\\\bq'     Name.Tag
'>'           Name.Tag
'\\b'         Literal.String.Escape
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'Read'        Name.Variable
')'           Punctuation
' '           Text
'asDobjFor'   Name.Function
'('           Punctuation
'Examine'     Name.Variable
')'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'calculator'  Name.Class
':'           Punctuation
' '           Text
'Fixture'     Name.Class
','           Punctuation
' '           Text
'Thing'       Name.Class
' '           Text
"'"           Literal.String.Single
'button/buttons/calculator/screen' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'calculator'  Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'The calculator is ' Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'built in'    Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'to the wall beside the sink. It\n    has buttons for all the standard unary and binary operations.\n    ' Literal.String.Double
'<<if'        Literal.String.Interpol
'('           Punctuation
'screen'      Name
')'           Punctuation
'>>'          Literal.String.Interpol
'The screen reads ' Literal.String.Double
'<<'          Literal.String.Interpol
'screen'      Name
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'screen'      Name.Variable
' '           Text
'='           Punctuation
' '           Text
'nil'         Keyword.Constant
'\n'          Text

'    '        Text
'literalMatch' Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

''            Text
'method'      Keyword.Reserved
' '           Text
''            Text
'wrongContextMsg' Name.Function
'('           Punctuation
')'           Punctuation
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'face'        Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'TADS-Typewriter' Literal.String.Double
'"'           Literal.String.Double
'>'           Name.Tag
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'ERROR'       Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' '           Literal.String.Single
'{{'          Literal.String.Escape
'can'         Literal.String.Single
"\\'"         Literal.String.Escape
't\n        use' Literal.String.Single
'\\ '         Literal.String.Escape
'\\"'         Literal.String.Escape
'<<'          Literal.String.Interpol
'self'        Name.Builtin.Pseudo
'.'           Operator
'literalMatch' Name
'>>'          Literal.String.Interpol
'\\"'         Literal.String.Escape
' in that context' Literal.String.Single
'}}'          Literal.String.Escape
'</font'      Name.Tag
'>'           Name.Tag
'. '          Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

''            Text
'portico'     Name.Class
':'           Punctuation
' '           Text
'OutdoorRoom' Name.Class
' '           Text
"'"           Literal.String.Single
'Portico'     Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'Columns line the portico stretching east and west, and steps lead down to\n    the south. The door leads back in, and beside the door is a basin. A\n    ' Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'label'       Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' is affixed to the doorpost. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'north'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'__objref'    Operator.Word
'('           Operator
'error'       Name
','           Punctuation
' '           Text
'error'       Keyword
')'           Operator
')'           Punctuation
'\n'          Text

'    '        Text
'in'          Name.Variable
' '           Text
'asExit'      Name
'('           Punctuation
'north'       Name
')'           Punctuation
'\n'          Text

'    '        Text
'south'       Name.Variable
':'           Punctuation
' '           Text
'FakeConnector' Name.Class
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
'"'           Literal.String.Double
'You begin moving away from the door, but then you remember the statue.\n        The gods won' Literal.String.Double
'&rsquo;'     Name.Entity
't bring her to life if you give up this easily!\n        ' Literal.String.Double
'<<'          Literal.String.Interpol
'setMethod'   Name
'('           Punctuation
'&'           Operator
'isConnectorApparent' Name
','           Punctuation
' '           Text
'{'           Punctuation
'origin'      Name.Variable
','           Punctuation
' '           Text
'actor'       Name.Variable
':'           Punctuation
' '           Text
'nil'         Keyword.Constant
'}'           Punctuation
')'           Punctuation
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'east'        Name.Variable
' '           Text
'asExit'      Name
'('           Punctuation
'south'       Name
')'           Punctuation
'\n'          Text

'    '        Text
'west'        Name.Variable
' '           Text
'asExit'      Name
'('           Punctuation
'south'       Name
')'           Punctuation
'\n'          Text

'    '        Text
'down'        Name.Variable
' '           Text
'asExit'      Name
'('           Punctuation
'south'       Name
')'           Punctuation
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

''            Text
'error'       Name.Class
':'           Punctuation
' '           Text
'LockableWithKey' Name.Class
','           Punctuation
' '           Text
'Door'        Name.Class
' '           Text
'->'          Punctuation
'door'        Name
' '           Text
"'"           Literal.String.Single
'door'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'door'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
'@'           Punctuation
'portico'     Name
' '           Text
'"'           Literal.String.Double
'<<'          Literal.String.Interpol
'door'        Name
'.'           Operator
'desc'        Name
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'keyList'     Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'otherSide'   Name
'.'           Operator
'keyList'     Name
')'           Punctuation
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'Fixture'     Name.Class
' '           Text
"'"           Literal.String.Single
'column*columns' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'columns'     Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'There are six ' Literal.String.Double
'<<one of>>'  Literal.String.Interpol
'short columns with simple capitals' Literal.String.Double
'<<or>>'      Literal.String.Interpol
'slender\n    columns with scrollwork in the capitals' Literal.String.Double
'<<or>>'      Literal.String.Interpol
'tall columns with ornate\n    capitals' Literal.String.Double
'<<sticky random>>' Literal.String.Interpol
'. Above the architrave is a frieze depicting some\n    of your wares. ' Literal.String.Double
'<<first time>>' Literal.String.Interpol
'The cornice overhangs the frieze a bit too\n    much, you think; perhaps you should shorten it. You try to concentrate on\n    the architecture of the portico, stoically ignoring what you cannot change,\n    but it doesn' Literal.String.Double
'&rsquo;'     Name.Entity
't work. It never does. ' Literal.String.Double
'<<only>>'    Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'isPlural'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
'true'        Keyword.Constant
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'Fixture'     Name.Class
','           Punctuation
' '           Text
'Readable'    Name.Class
' '           Text
"'"           Literal.String.Single
'label/doorpost' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'label'       Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'The '        Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'label'       Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' says '      Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'Pygmentalion' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
'<<first time>>' Literal.String.Interpol
' (which is\n    your ' Literal.String.Double
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'name'        Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
')'           Literal.String.Double
'<<only>>'    Literal.String.Interpol
'. '          Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'Read'        Name.Variable
')'           Punctuation
' '           Text
'asDobjFor'   Name.Function
'('           Punctuation
'Examine'     Name.Variable
')'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'+'           Punctuation
' '           Text
''            Text
'basin'       Name.Class
':'           Punctuation
' '           Text
'RestrictedContainer' Name.Class
','           Punctuation
' '           Text
'Fixture'     Name.Class
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'(bird) basin/bath/birdbath/fountain/mosaic/pool/tile/tiles' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'basin'       Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'It is shallow but wide, and lined with tiles. It used to be a fountain,\n    but it stopped working after they installed the new sink. Something to do\n    with water pressure, no doubt. Now you just use it as a birdbath.' Literal.String.Double
'\\b'         Literal.String.Escape
'\n    '      Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'overflowing' Name
'>>'          Literal.String.Interpol
'Water is spilling over the sides in a turbulent flow.\n    ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>='          Operator
' '           Text
'19500'       Literal.Number.Integer
'>>'          Literal.String.Interpol
'It is full to the brim with water. You can see\n    your reflection quite clearly. Gods, you look a mess.\n    ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>='          Operator
' '           Text
'15000'       Literal.Number.Integer
'>>'          Literal.String.Interpol
'It is full of water. You can see your reflection.\n    ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>='          Operator
' '           Text
'10000'       Literal.Number.Integer
'>>'          Literal.String.Interpol
'It is half full. From the right angle, you can\n    make out a shadowy reflection of the columns, but nothing more.\n    ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>='          Operator
' '           Text
'2000'        Literal.Number.Integer
'>>'          Literal.String.Interpol
'There is some water in it, but you can still make\n    out the mosaic lining the basin.\n    ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'>'           Operator
' '           Text
'0'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'A small puddle has formed at the bottom of the basin.\n    ' Literal.String.Double
'<<else>>'    Literal.String.Interpol
'It is empty.\n    ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'level'       Name
' '           Text
'<='          Operator
' '           Text
'-'           Operator
'1.0e+2'      Literal.Number.Float
'>>'          Literal.String.Interpol
'It looks as if it has never been filled. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'level'       Name.Variable
' '           Text
'='           Punctuation
' '           Text
'0'           Literal.Number.Integer
'\n'          Text

'    '        Text
'overflowing' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'nil'         Keyword.Constant
'\n'          Text

'    '        Text
'isMirror'    Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'level'       Name
' '           Text
'>='          Operator
' '           Text
'15000'       Literal.Number.Integer
')'           Punctuation
'\n'          Text

'    '        Text
'setLevel'    Name.Function
'('           Punctuation
'level'       Name.Variable
':'           Punctuation
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'delegated'   Operator.Word
' '           Text
'sink'        Name
'.'           Operator
'setLevel'    Name
'('           Punctuation
'_'           Name
':'           Punctuation
' '           Text
'sourceTextOrder' Name.Builtin
' '           Text
'?'           Operator
' '           Text
'level'       Name
':'           Operator
' '           Text
'nil'         Keyword.Constant
','           Punctuation
' '           Text
'level'       Name
':'           Punctuation
' '           Text
'level'       Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'CleanWith'   Name.Variable
')'           Punctuation
' '           Text
'maybeRemapTo' Name.Function
'('           Punctuation
'basinWater'  Name.Variable
'.'           Operator
'location'    Name
','           Punctuation
' '           Text
'CleanWith'   Name.Variable
','           Punctuation
'\n'          Text

'                                    ' Text
'DirectObject' Name.Variable
','           Punctuation
' '           Text
'basinWater'  Name.Variable
')'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'++'          Punctuation
' '           Text
''            Text
'basinWater'  Name.Class
':'           Punctuation
' '           Text
'PresentLater' Name.Class
','           Punctuation
' '           Text
'Fixture'     Name.Class
' '           Text
"'"           Literal.String.Single
'(basin) water basin water' Literal.String.Single
"'"           Literal.String.Single
' '           Text
"'"           Literal.String.Single
'water'       Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'<<'          Literal.String.Interpol
'basin'       Name
'.'           Operator
'desc'        Name
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'disambigName' Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'water in the basin' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'Drink'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'illogical'   Name
'('           Punctuation
"'"           Literal.String.Single
'Drinking from a birdbath might not be the best idea. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'CleanWith'   Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'preCond'     Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
'touchObj'    Name
']'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'illogical'   Name
'('           Punctuation
"'"           Literal.String.Single
'Washing something in a birdbath is unlikely to get it\n                clean. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'++'          Punctuation
' '           Text
''            Text
'feather'     Name.Class
':'           Punctuation
' '           Text
'PresentLater' Name.Class
','           Punctuation
' '           Text
'Thing'       Name.Class
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'(bird) (dove) (pigeon) (turtle) (turtle-dove) (turtledove) feather' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
"'"           Literal.String.Single
'feather'     Literal.String.Single
"'"           Literal.String.Single
' '           Text
'"'           Literal.String.Double
'It'          Literal.String.Double
'&rsquo;'     Name.Entity
's a turtle-dove feather: an auspicious omen! ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'initSpecialDesc' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'"'           Literal.String.Double
'<<one of>>'  Literal.String.Interpol
'A little brown bird is splashing around in the\n        basin. When it notices you, it ruffles its feathers, one of which falls\n        out, and flies out between the columns. ' Literal.String.Double
'<<or>>'      Literal.String.Interpol
'A feather is\n        ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'basin'       Name
'.'           Operator
'overflowing' Name
' '           Text
'||'          Operator
' '           Text
'basin'       Name
'.'           Operator
'level'       Name
' '           Text
'>'           Operator
' '           Text
'0'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'float'       Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'ing\n        ' Literal.String.Double
'<<else>>'    Literal.String.Interpol
'lying '      Literal.String.Double
'<<end>>'     Literal.String.Interpol
' in the basin. ' Literal.String.Double
'<<stopping>>' Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'/* Water */' Comment.Multiline
'\n\n'        Text

'trickling'   Name.Function
'('           Punctuation
'water'       Name.Variable
')'           Punctuation
' '           Text
'multimethod' Keyword
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'sink'        Name
'.'           Operator
'overflowing' Name
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'    '        Text
'dirs'        Name.Label
':'           Punctuation
' '           Text
''            Text
'for'         Keyword.Reserved
' '           Text
'('           Punctuation
'local'       Keyword.Reserved
' '           Text
'dir'         Name.Variable
' '           Text
'in'          Keyword
' '           Text
'Direction'   Name
'.'           Operator
'allDirections' Name
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'dir'         Name
'.'           Operator
'ofKind'      Name
'('           Punctuation
'RelativeDirection' Name
')'           Punctuation
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'continue'    Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'dir'         Name
'.'           Operator
'ofKind'      Name
'('           Punctuation
'ShipboardDirection' Name
')'           Punctuation
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'continue'    Keyword.Reserved
' '           Text
'dirs'        Name.Label
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'water'       Name
'.'           Operator
'eventualLocation' Name
'.'           Operator
'('           Punctuation
'dir'         Name
'.'           Operator
'dirProp'     Name
')'           Punctuation
' '           Text
'=='          Operator
' '           Text
'__objref'    Operator.Word
'('           Operator
'entrance'    Name
')'           Operator
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'trickling '  Literal.String.Single
'<<'          Literal.String.Interpol
'dir'         Name
'.'           Operator
'name'        Name
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'a stagnant puddle' Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

''            Text
'class'       Keyword.Reserved
' '           Text
'Water'       Name.Class
':'           Punctuation
'PresentLater' Name.Class
','           Punctuation
'Fixture'     Name.Class
"'"           Literal.String.Single
'(floor) (ground) water puddle water' Literal.String.Single
"'"           Literal.String.Single
"'"           Literal.String.Single
'water'       Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'The water on the floor is ' Literal.String.Double
'<<'          Literal.String.Interpol
'trickling'   Name
'('           Punctuation
'self'        Name.Builtin.Pseudo
')'           Punctuation
'>>'          Literal.String.Interpol
'. '          Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'disambigName' Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'water on the floor' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'specialDesc' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'"'           Literal.String.Double
'The floor is covered with water. ' Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'Drink'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'preCond'     Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
'touchObj'    Name
']'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'check'       Name
' '           Text
'{'           Punctuation
' '           Text
''            Text
'failCheck'   Name
'('           Punctuation
"'"           Literal.String.Single
"{You\\'re}"  Literal.String.Interpol
' not thirsty. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'iobjFor'     Name.Function
'('           Punctuation
'CleanWith'   Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'preCond'     Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
'touchObj'    Name
']'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
' '           Text
'{'           Punctuation
' '           Text
''            Text
'illogical'   Name
'('           Punctuation
"'"           Literal.String.Single
'The water on the ground is too dirty. ' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

''            Text
'Water'       Name.Class
' '           Text
'template'    Keyword.Reserved
' '           Text
'+'           Punctuation
'location'    Name.Variable
' '           Text
'|'           Punctuation
' '           Text
'~'           Punctuation
'location'    Name.Variable
' '           Text
'"'           Literal.String.Double
'specialDesc' Literal.String.Double
'"'           Literal.String.Double
'?'           Punctuation
' '           Text
'inherited'   Keyword.Reserved
''            Text
';'           Punctuation
'\n'          Text

''            Text
'Water'       Name.Class
' '           Text
'+'           Punctuation
'altarRoom'   Name
';'           Punctuation
'\n'          Text

''            Text
'Water'       Name.Class
' '           Text
'+'           Punctuation
'sinkRoom'    Name
' '           Text
'{'           Punctuation
' '           Text
';'           Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
';'           Punctuation
'\n'          Text

''            Text
'Water'       Name.Class
' '           Text
'{'           Punctuation
' '           Text
'+'           Punctuation
'workbenchRoom' Name
' '           Text
'}'           Punctuation
';'           Punctuation
'\n\n'        Text

''            Text
'entranceWater' Name.Class
':'           Punctuation
' '           Text
'Water'       Name.Class
' '           Text
'+'           Punctuation
'entrance'    Name
'\n'          Text

'    '        Text
'"'           Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'overflowing' Name
'>>'          Literal.String.Interpol
'At your feet, all the water from the sink flows\n    into a ' Literal.String.Double
'<<%-o'       Literal.String.Interpol
' '           Text
'02'          Literal.Number.Oct
'>>'          Literal.String.Interpol
'-dactyl slit in the baseboard. ' Literal.String.Double
'<<else>>'    Literal.String.Interpol
'<<'          Literal.String.Interpol
'inherited'   Keyword.Reserved
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
'\n'          Text

'    '        Text
'vocabWords'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'water baseboard/puddle/slit water' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n'          Text

'trickling'   Name.Function
'('           Punctuation
'entranceWater' Name.Class
' '           Text
'w'           Name.Variable
')'           Punctuation
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
''            Text
'return'      Keyword.Reserved
' '           Text
'sink'        Name
'.'           Operator
'overflowing' Name
' '           Text
'?'           Operator
' '           Text
"'"           Literal.String.Single
'trickling into the wall' Literal.String.Single
"'"           Literal.String.Single
' '           Text
':'           Operator
' '           Text
'inherited'   Keyword.Reserved
'<'           Punctuation
'*'           Punctuation
'>'           Punctuation
'('           Punctuation
'w'           Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

''            Text
'porticoWater' Name.Class
':'           Punctuation
' '           Text
'Water'       Name.Class
' '           Text
'~'           Punctuation
'portico'     Name
';'           Punctuation
'\n'          Text

'trickling'   Name.Function
'('           Punctuation
'porticoWater' Name.Class
' '           Text
'w'           Name.Variable
')'           Punctuation
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
''            Text
'return'      Keyword.Reserved
' '           Text
'basin'       Name
'.'           Operator
'overflowing' Name
' '           Text
'?'           Operator
' '           Text
"'"           Literal.String.Single
'trickling down the stairs' Literal.String.Single
"'"           Literal.String.Single
' '           Text
':'           Operator
' '           Text
'inherited'   Keyword.Reserved
'<'           Punctuation
'*'           Punctuation
'>'           Punctuation
'('           Punctuation
'w'           Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

'/* Calculating */' Comment.Multiline
'\n\n'        Text

';;;'         Punctuation
''            Text
'class'       Keyword.Reserved
' '           Text
'is'          Name.Class
':'           Punctuation
' '           Text
'Exception'   Name.Class
' '           Text
'{'           Punctuation
' '           Text
'finalize'    Name.Function
' '           Text
'{'           Punctuation
' '           Text
'}'           Punctuation
' '           Text
'}'           Punctuation
';;;'         Punctuation
' '           Text
'// InvalidSpecificationError' Comment.Single
'\n\n'        Text

'DefineLiteralAction' Name.Function
'('           Punctuation
'Calculate'   Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'checkAction' Name.Function
'('           Punctuation
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'defined'     Operator.Word
'('           Operator
'calculator'  Name
')'           Operator
' '           Text
'&&'          Operator
' '           Text
'!'           Operator
'gActor'      Name
'.'           Operator
'canTouch'    Name
'('           Punctuation
'calculator'  Name
')'           Punctuation
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
'{'           Punctuation
' '           Text
''            Text
'gActor'      Name
'.'           Operator
'failCheck'   Name
'('           Punctuation
"'"           Literal.String.Single
'{You/He}'    Literal.String.Interpol
' '           Literal.String.Single
"{can\\'t}"   Literal.String.Interpol
' do that kind of math in\n                ' Literal.String.Single
'{your}'      Literal.String.Interpol
' head. '     Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
'execAction'  Name.Function
'('           Punctuation
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'local'       Keyword.Reserved
' '           Text
'op'          Name.Variable
' '           Text
'='           Operator
' '           Text
'function'    Keyword.Reserved
'('           Punctuation
'...'         Punctuation
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'throw'       Keyword.Reserved
' '           Text
''            Text
'new'         Keyword.Reserved
' '           Text
'is'          Name.Class
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
','           Punctuation
' '           Text
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'local'       Keyword.Reserved
' '           Text
'opString'    Name.Variable
' '           Text
'='           Operator
' '           Text
'('           Punctuation
'literalMatch' Name
','           Operator
' '           Text
'literalMatch' Name
')'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'numMatch'    Name
')'           Punctuation
'\n'          Text

'            ' Text
''            Text
'goto'        Keyword.Reserved
' '           Text
'binary'      Name.Label
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'switch'      Keyword.Reserved
' '           Text
'('           Punctuation
'opString'    Name
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'!'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'not'         Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'!'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'!'           Operator
'toInteger'   Name
'('           Punctuation
"'"           Literal.String.Single
'<<%_\\u0030[1]5.3\\170' Literal.String.Interpol
'x'           Name
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
' '           Text
'16'          Literal.Number.Integer
')'           Punctuation
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'+'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'plus'        Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'positive'    Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'+'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'self_'       Name.Variable
' '           Text
':'           Punctuation
' '           Text
'self_'       Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'-'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'minus'       Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'negate'      Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'negative'    Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'&#x2212;'    Name.Entity
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'-'           Operator
'x'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'~'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'inverse'     Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'inverse'     Literal.String.Single
'\\\\'        Literal.String.Escape
'of'          Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'~'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'~'           Operator
'x'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'goto'        Keyword.Reserved
' '           Text
'doCalculation' Name.Label
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'binary'      Name.Label
':'           Punctuation
' '           Text
'binaryOp'    Name.Label
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'switch'      Keyword.Reserved
' '           Text
'('           Punctuation
'opString'    Name
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'+'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'plus'        Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'+'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'+'           Operator
'a'           Name
'++'          Operator
'+'           Operator
'b'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
' '           Text
'binaryOp'    Name.Label
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'-'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'minus'       Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'&#8722;'     Name.Entity
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'-'           Operator
'b'           Name
'--'          Operator
' '           Text
'-'           Operator
' '           Text
'-'           Operator
'a'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'*'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'times'       Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'&times;'     Name.Entity
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'new'         Keyword.Reserved
' '           Text
'function'    Keyword.Reserved
'('           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'return'      Keyword.Reserved
' '           Text
'a'           Name
' '           Text
'*'           Operator
' '           Text
'b'           Name
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'/'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'over'        Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'divided'     Literal.String.Single
'\\\\'        Literal.String.Escape
'by'          Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'/'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'function'    Keyword.Reserved
'('           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'return'      Keyword.Reserved
' '           Text
'a'           Name
' '           Text
'/'           Operator
' '           Text
'b'           Name
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'%'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'mod'         Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'modulo'      Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'mod'         Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'function'    Keyword.Reserved
'('           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
','           Punctuation
' '           Text
'multimethod' Name.Variable
'='           Punctuation
'b'           Name
''            Text
')'           Punctuation
' '           Text
'{'           Punctuation
' '           Text
''            Text
'return'      Keyword.Reserved
' '           Text
'a'           Name
' '           Text
'%'           Operator
' '           Text
'multimethod' Name
''            Punctuation
';'           Punctuation
' '           Text
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'\\<<'        Name.Tag
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'shl'         Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'ashl'        Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'lshl'        Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'&lt;'        Name.Entity
'&lt;'        Name.Entity
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
','           Punctuation
' '           Text
'c'           Name.Variable
'?'           Punctuation
' '           Text
':'           Punctuation
' '           Text
'a'           Name
' '           Text
'<<'          Operator
' '           Text
'b'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'&'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'and'         Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'&amp;'       Name.Entity
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'local'       Keyword.Reserved
' '           Text
'badness'     Name.Variable
' '           Text
'='           Operator
' '           Text
'a'           Name
','           Punctuation
' '           Text
'local'       Keyword.Reserved
' '           Text
'token'       Name.Variable
' '           Text
'='           Operator
' '           Text
'b'           Name
','           Punctuation
' '           Text
'badness'     Name
' '           Text
'&'           Operator
' '           Text
'token'       Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'^'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'xor'         Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'^'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
','           Punctuation
' '           Text
'c'           Name.Variable
'?'           Punctuation
' '           Text
':'           Punctuation
' '           Text
'a'           Name
' '           Text
'^'           Operator
' '           Text
'b'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'|'           Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'or'          Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'|'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'a'           Name
' '           Text
'|'           Operator
' '           Text
'b'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'>'           Literal.String.Single
'\\>'         Literal.String.Escape
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'shr'         Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'ashr'        Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'>>'          Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'toInteger'   Name
'('           Punctuation
"'"           Literal.String.Single
'<<'          Literal.String.Interpol
'('           Punctuation
'a'           Name
' '           Text
'>>'          Operator
' '           Text
'b'           Name
')'           Punctuation
'>>'          Literal.String.Interpol
"'"           Literal.String.Single
')'           Punctuation
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'>>>'         Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'case'        Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'lshr'        Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'            ' Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
'>>>'         Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'op'          Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
'a'           Name.Variable
','           Punctuation
' '           Text
'b'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'b'           Name
' '           Text
'?'           Operator
' '           Text
'invokee'     Name.Builtin
'('           Punctuation
'a'           Name
' '           Text
'>>>'         Operator
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'--'          Operator
'b'           Name
')'           Punctuation
' '           Text
':'           Operator
' '           Text
'a'           Name
'}'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'opString'    Name
' '           Text
'='           Operator
' '           Text
"'"           Literal.String.Single
' '           Literal.String.Single
'<<'          Literal.String.Interpol
'opString'    Name
'>>'          Literal.String.Interpol
' '           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'doCalculation' Name.Label
':'           Punctuation
'\n'          Text

'        '    Text
''            Text
'"'           Literal.String.Double
'The calculator outputs ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'try'         Keyword.Reserved
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'a'           Name
' '           Text
'='           Operator
' '           Text
'numMatch'    Name
' '           Text
'?'           Operator
' '           Text
'numMatch'    Name
'.'           Operator
'getval'      Name
'('           Punctuation
'colon'       Name
' '           Text
':'           Punctuation
' '           Text
'nil'         Keyword.Constant
')'           Punctuation
' '           Text
':'           Operator
' '           Text
'nil'         Keyword.Constant
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'b'           Name
' '           Text
'='           Operator
' '           Text
'numMatch2'   Name
'.'           Operator
'getval'      Name
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'local'       Keyword.Reserved
' '           Text
'result'      Name.Variable
' '           Text
'='           Operator
' '           Text
'toInteger'   Name
'('           Punctuation
'numMatch'    Name
' '           Text
'?'           Operator
' '           Text
'op'          Name
'('           Punctuation
'a'           Name
','           Punctuation
' '           Text
'b'           Name
')'           Punctuation
' '           Text
':'           Operator
' '           Text
'op'          Name
'('           Punctuation
'b'           Name
')'           Punctuation
')'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'calculator'  Name
'.'           Operator
'setMethod'   Name
'('           Punctuation
'&'           Operator
'screen'      Name
','           Punctuation
' '           Text
'method'      Keyword.Reserved
'('           Punctuation
')'           Punctuation
'\n'          Text

'            ' Text
'{'           Punctuation
'\n'          Text

'                ' Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'face'        Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'TADS-Typewriter' Literal.String.Double
'"'           Literal.String.Double
'>'           Name.Tag
'<<'          Literal.String.Interpol
'a'           Name
'>>'          Literal.String.Interpol
'<<'          Literal.String.Interpol
'opString'    Name
'>>'          Literal.String.Interpol
'<<'          Literal.String.Interpol
'b'           Name
'>>'          Literal.String.Interpol
' =\n                    ' Literal.String.Single
'<<%d'        Literal.String.Interpol
' '           Text
'result'      Name
'>>'          Literal.String.Interpol
'</font'      Name.Tag
'>'           Name.Tag
'. '          Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
'}'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'local'       Keyword.Reserved
' '           Text
'oldLevel'    Name.Variable
' '           Text
'='           Operator
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'sink'        Name
'.'           Operator
'current'     Name
'.'           Operator
'setLevel'    Name
'('           Punctuation
'level'       Name
':'           Punctuation
' '           Text
'result'      Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<<'          Literal.String.Interpol
'calculator'  Name
'.'           Operator
'screen'      Name
'('           Punctuation
')'           Punctuation
'>>'          Literal.String.Interpol
'\n            ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'current'     Name
' '           Text
'=='          Operator
' '           Text
'basin'       Name
'>>'          Literal.String.Interpol
'The sink gurgles and the pipes rattle.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'=='          Operator
' '           Text
'oldLevel'    Name
'>>'          Literal.String.Interpol
'The sink gurgles.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'<='          Operator
' '           Text
'0'           Literal.Number.Integer
' '           Text
'&&'          Operator
' '           Text
'oldLevel'    Name
' '           Text
'<='          Operator
' '           Text
'0'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'The pipes rattle for a\n            moment.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'<='          Operator
' '           Text
'0'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'All the water drains from the sink.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'oldLevel'    Name
' '           Text
'<='          Operator
' '           Text
'0'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'The sink begins to fill with water.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'<'           Operator
' '           Text
'oldLevel'    Name
' '           Text
'-'           Operator
' '           Text
'0xabc'       Literal.Number.Hex
'>>'          Literal.String.Interpol
'Some of the water drains\n            from the sink.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'<'           Operator
' '           Text
'oldLevel'    Name
'>>'          Literal.String.Interpol
'The water level drops slightly.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'oldLevel'    Name
' '           Text
'<'           Operator
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'-'           Operator
' '           Text
'0XABC'       Literal.Number.Hex
'>>'          Literal.String.Interpol
'Water splashes into the\n            sink for a few seconds.\n            ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'oldLevel'    Name
' '           Text
'<'           Operator
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
'>>'          Literal.String.Interpol
'Water dribbles from the faucet. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'catch'       Keyword.Reserved
' '           Text
'('           Punctuation
'is'          Name.Exception
' '           Text
'in'          Name.Variable
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'calculator'  Name
'.'           Operator
'literalMatch' Name
' '           Text
'='           Operator
' '           Text
'literalMatch' Name
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'calculator'  Name
'.'           Operator
'setMethod'   Name
'('           Punctuation
'&'           Operator
'screen'      Name
','           Punctuation
' '           Text
'&'           Operator
'wrongContextMsg' Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<<'          Literal.String.Interpol
'calculator'  Name
'.'           Operator
'screen'      Name
'('           Punctuation
')'           Punctuation
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'catch'       Keyword.Reserved
' '           Text
'('           Punctuation
'RuntimeError' Name.Exception
' '           Text
'e'           Name.Variable
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'calculator'  Name
'.'           Operator
'setMethod'   Name
'('           Punctuation
'&'           Operator
'screen'      Name
','           Punctuation
' '           Text
'new'         Keyword.Reserved
' '           Text
'method'      Keyword.Reserved
''            Text
'\n'          Text

'            ' Text
'{'           Punctuation
'\n'          Text

'                ' Text
''            Text
'return'      Keyword.Reserved
' '           Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'face'        Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'TADS-Typewriter' Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
'<<'          Literal.String.Interpol
'highlight'   Name
' '           Text
''            Text
"'"           Literal.String.Single
'ERROR'       Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'\n                    ' Literal.String.Single
'{{'          Literal.String.Escape
'<<'          Literal.String.Interpol
'e'           Name
'.'           Operator
'exceptionMessage' Name
'>>'          Literal.String.Interpol
'}}'          Literal.String.Escape
'</font'      Name.Tag
'>'           Name.Tag
'.'           Literal.String.Single
'\\b'         Literal.String.Escape
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
'}'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<<'          Literal.String.Interpol
'calculator'  Name
'.'           Operator
'screen'      Name
'('           Punctuation
')'           Punctuation
'>>'          Literal.String.Interpol
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'switch'      Keyword.Reserved
' '           Text
'('           Punctuation
'e'           Name
'.'           Operator
'errno_'      Name
')'           Punctuation
'\n'          Text

'            ' Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'case'        Keyword.Reserved
' '           Text
'2008'        Literal.Number.Integer
':'           Punctuation
' '           Text
'// division by zero' Comment.Single
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'current'     Name
' '           Text
'=='          Operator
' '           Text
'sink'        Name
'\n'          Text

'                  ' Text
'&&'          Operator
' '           Text
'('           Punctuation
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'>'           Operator
' '           Text
'0'           Literal.Number.Integer
' '           Text
'||'          Operator
' '           Text
'sink'        Name
'.'           Operator
'overflowing' Name
')'           Punctuation
'>>'          Literal.String.Interpol
'The water in the\n                sink is sucked down the drain.\n                ' Literal.String.Double
'<<else if'   Literal.String.Interpol
' '           Text
'basin'       Name
'.'           Operator
'level'       Name
' '           Text
'>'           Operator
' '           Text
'0'           Literal.Number.Integer
' '           Text
'||'          Operator
' '           Text
'basin'       Name
'.'           Operator
'overflowing' Name
'>>'          Literal.String.Interpol
'Water comes up\n                from the drain and ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'basin'       Name
'.'           Operator
'overflowing' Name
'>>'          Literal.String.Interpol
'spills over\n                the edges of' Literal.String.Double
'<<else>>'    Literal.String.Interpol
'begins to fill' Literal.String.Double
'<<end>>'     Literal.String.Interpol
' the sink.\n                ' Literal.String.Double
'<<else>>'    Literal.String.Interpol
'The sink gurgles and the pipes rattle. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'sink'        Name
'.'           Operator
'current'     Name
' '           Text
'='           Operator
' '           Text
'sink'        Name
'.'           Operator
'current'     Name
' '           Text
'=='          Operator
' '           Text
'sink'        Name
' '           Text
'?'           Operator
' '           Text
'basin'       Name
' '           Text
':'           Operator
' '           Text
'sink'        Name
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'local'       Keyword.Reserved
' '           Text
'_tmp'        Name.Variable
' '           Text
'='           Operator
' '           Text
'sink'        Name
'.'           Operator
'level'       Name
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'sink'        Name
'.'           Operator
'level'       Name
' '           Text
'='           Operator
' '           Text
'basin'       Name
'.'           Operator
'level'       Name
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'basin'       Name
'.'           Operator
'level'       Name
' '           Text
'='           Operator
' '           Text
'_tmp'        Name
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'_tmp'        Name
' '           Text
'='           Operator
' '           Text
'sink'        Name
'.'           Operator
'overflowing' Name
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'sink'        Name
'.'           Operator
'overflowing' Name
' '           Text
'='           Operator
' '           Text
'basin'       Name
'.'           Operator
'overflowing' Name
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'basin'       Name
'.'           Operator
'overflowing' Name
' '           Text
'='           Operator
' '           Text
'_tmp'        Name
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'!'           Operator
'sink'        Name
'.'           Operator
'current'     Name
'.'           Operator
'overflowing' Name
')'           Punctuation
'\n'          Text

'                    ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
'// fall through' Comment.Single
'\n'          Text

'            ' Text
''            Text
'case'        Keyword.Reserved
' '           Text
'2023'        Literal.Number.Integer
':'           Punctuation
' '           Text
'// numeric overflow' Comment.Single
'\n'          Text

'                ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'!'           Operator
'sink'        Name
'.'           Operator
'current'     Name
'.'           Operator
'overflowing' Name
')'           Punctuation
'\n'          Text

'                    ' Text
''            Text
'"'           Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'sink'        Name
'.'           Operator
'current'     Name
' '           Text
'=='          Operator
' '           Text
'sink'        Name
'>>'          Literal.String.Interpol
'High-pressure water streams\n                    from the faucet, filling the sink and spilling over the\n                    edge. Rivulets begin running down the slight gradient of\n                    the floor. ' Literal.String.Double
'<<else>>'    Literal.String.Interpol
'The pipes shake loudly. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'forEachInstance' Name
'('           Punctuation
'Water'       Name
','           Punctuation
' '           Text
'function'    Keyword.Reserved
'('           Punctuation
'w'           Name.Variable
')'           Punctuation
' '           Text
'{'           Punctuation
'\n'          Text

'                    ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'('           Punctuation
'w'           Name
'.'           Operator
'eventualLocation' Name
' '           Text
'=='          Operator
' '           Text
'portico'     Name
')'           Punctuation
' '           Text
'=='          Operator
'\n'          Text

'                        ' Text
'('           Punctuation
'sink'        Name
'.'           Operator
'current'     Name
' '           Text
'=='          Operator
' '           Text
'basin'       Name
')'           Punctuation
')'           Punctuation
'\n'          Text

'                        ' Text
''            Text
'w'           Name
'.'           Operator
'makePresent' Name
'('           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
'}'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'sink'        Name
'.'           Operator
'current'     Name
'.'           Operator
'setLevel'    Name
'('           Punctuation
'level'       Name
':'           Punctuation
' '           Text
'nil'         Keyword.Constant
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'break'       Keyword.Reserved
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
'default'     Keyword.Reserved
':'           Punctuation
'\n'          Text

'                ' Text
''            Text
'throw'       Keyword.Reserved
' '           Text
''            Text
'e'           Name
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
'}'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'!'           Operator
'gPlayerChar' Name
'.'           Operator
'hasSeen'     Name
'('           Punctuation
'feather'     Name
')'           Punctuation
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'feather'     Name
'.'           Operator
'makePresentIf' Name
'('           Punctuation
'basin'       Name
'.'           Operator
'isMirror'    Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'feather'     Name
'.'           Operator
'moved'       Name
' '           Text
'='           Operator
' '           Text
'nil'         Keyword.Constant
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'VerbRule'    Name.Function
'('           Punctuation
'Calculate'   Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
''            Text
'('           Punctuation
"'"           Literal.String.Single
'c'           Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'calculate'   Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'enter'       Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'eval'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'evaluate'    Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'('           Punctuation
'('           Punctuation
')'           Punctuation
'|'           Punctuation
'('           Punctuation
'singleNumber' Name.Constant
'|'           Punctuation
')'           Punctuation
')'           Punctuation
'\n'          Text

'    '        Text
'('           Punctuation
'tokOp'       Name.Constant
'->'          Punctuation
'literalMatch' Name.Constant
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'!'           Literal.String.Single
"'"           Literal.String.Single
'->'          Punctuation
'literalMatch' Name.Constant
')'           Punctuation
' '           Text
'numberPhrase' Name.Constant
' '           Text
'->'          Punctuation
' '           Text
'numMatch2'   Name.Constant
'\n'          Text

'    '        Text
':'           Punctuation
' '           Text
'CalculateAction' Name.Class
'\n'          Text

'    '        Text
'verbPhrase'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'calculate/calculating (what) (how) (what)' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'/* Cleaning */' Comment.Multiline
'\n\n'        Text

''            Text
'modify'      Keyword.Reserved
' '           Text
'VerbRule'    Name.Function
'('           Punctuation
'Clean'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
''            Text
'['           Punctuation
' '           Text
'/**/'        Comment.Multiline
'/**/'        Comment.Multiline
' '           Text
'// /* \\\\\n#define Room Unthing' Comment.Single
'\n'          Text

'    '        Text
'badness'     Keyword
' '           Text
'500'         Literal.Number.Integer
']'           Punctuation
' '           Text
'('           Punctuation
"'"           Literal.String.Single
'clean'       Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'wash'        Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'dobjList'    Name.Constant
':'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

''            Text
'grammar'     Keyword.Reserved
' '           Text
'predicate'   Name.Class
'('           Punctuation
'CleanIn'     Literal.String.Other
')'           Punctuation
':'           Punctuation
'\n'          Text

'    '        Text
'('           Punctuation
"'"           Literal.String.Single
'clean'       Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'wash'        Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'dobjList'    Name.Constant
' '           Text
'('           Punctuation
"'"           Literal.String.Single
'at'          Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'in'          Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'with'        Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'singleIobj'  Name.Constant
'\n'          Text

'    '        Text
':'           Punctuation
' '           Text
'CleanWithAction' Name.Class
'\n'          Text

'    '        Text
'verbPhrase'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'clean/cleaning (what) (in what)' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'askIobjResponseProd' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'inSingleNoun' Name
'\n'          Text

'    '        Text
'omitIobjInDobjQuery' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'true'        Keyword.Constant
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'/* Prayer */' Comment.Multiline
'\n\n'        Text

'VerbRule'    Name.Function
'('           Punctuation
'Pray'        Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
''            Text
'['           Punctuation
'badness'     Keyword
' '           Text
'500'         Literal.Number.Integer
']'           Punctuation
' '           Text
"'"           Literal.String.Single
'pray'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
'singleDobj'  Name.Constant
'\n'          Text

'    '        Text
':'           Punctuation
' '           Text
'PrayAtAction' Name.Class
'\n'          Text

'    '        Text
'verbPhrase'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'pray/praying (at what)' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'VerbRule'    Name.Function
'('           Punctuation
'PrayAt'      Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
''            Text
"'"           Literal.String.Single
'pray'        Literal.String.Single
"'"           Literal.String.Single
' '           Text
'('           Punctuation
"'"           Literal.String.Single
'at'          Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'to'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'singleDobj'  Name.Constant
'\n'          Text

'    '        Text
':'           Punctuation
' '           Text
'PrayAtAction' Name.Class
'\n'          Text

'    '        Text
'verbPhrase'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'pray/praying (at what)' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'    '        Text
'askDobjResponseProd' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'singleNoun'  Name
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'DefineTAction' Name.Function
'('           Punctuation
'PrayAt'      Name.Variable
')'           Punctuation
';'           Punctuation
'\n'          Text

''            Text
'modify'      Keyword.Reserved
' '           Text
''            Text
'Thing'       Name.Class
'\n'          Text

'    '        Text
'dobjFor'     Name.Function
'('           Punctuation
'PrayAt'      Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'verify'      Name
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'illogical'   Name
'('           Punctuation
"'"           Literal.String.Single
'{You/He}'    Literal.String.Interpol
' '           Literal.String.Single
'{cannot}'    Literal.String.Interpol
' pray at '   Literal.String.Single
'{that dobj/him}' Literal.String.Interpol
'. '          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

"/* Extended grammar for 'in' and 'out' */" Comment.Multiline
'\n\n'        Text

''            Text
'modify'      Keyword.Reserved
' '           Text
'grammar'     Keyword.Reserved
' '           Text
'directionName' Name.Class
'('           Punctuation
'in'          Literal.String.Other
')'           Punctuation
':'           Punctuation
' '           Text
"'"           Literal.String.Single
'in'          Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'inside'      Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'   '         Text
'dir'         Name.Variable
' '           Text
'='           Punctuation
' '           Text
'inDirection' Name
'\n'          Text

''            Punctuation
';'           Punctuation
'\n'          Text

''            Text
'modify'      Keyword.Reserved
' '           Text
'/**/'        Comment.Multiline
'/**/'        Comment.Multiline
' '           Text
'// /* \\\\\n#define Room Unthing' Comment.Single
'\n'          Text

'    '        Text
'grammar'     Keyword.Reserved
' '           Text
'directionName' Name.Class
'('           Punctuation
'out'         Literal.String.Other
')'           Punctuation
':'           Punctuation
' '           Text
"'"           Literal.String.Single
'out'         Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'outside'     Literal.String.Single
"'"           Literal.String.Single
':'           Punctuation
'\n'          Text

'   '         Text
'dir'         Name.Variable
' '           Text
'='           Punctuation
' '           Text
'outDirection' Name
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'/* Speech */' Comment.Multiline
'\n\n'        Text

'DefineLiteralAction' Name.Function
'('           Punctuation
'Say'         Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'execAction'  Name.Function
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'local'       Keyword.Reserved
' '           Text
'literal'     Name.Variable
' '           Text
'='           Operator
' '           Text
'getLiteral'  Name
'('           Punctuation
')'           Punctuation
'.'           Operator
'toLower'     Name
'('           Punctuation
')'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'literal'     Name
' '           Text
'is'          Operator.Word
' '           Text
'in'          Operator.Word
' '           Text
'('           Punctuation
"'"           Literal.String.Single
'xyzzy'       Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'plugh'       Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
')'           Punctuation
'\n'          Text

'            ' Text
''            Text
'tryImplicitActionMsg' Name
'('           Punctuation
'&'           Operator
'silentImplicitAction' Name
','           Punctuation
' '           Text
'Xyzzy'       Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'else'        Keyword.Reserved
' '           Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'literal'     Name
' '           Text
'!='          Operator
' '           Text
'key'         Name
'.'           Operator
'keyword'     Name
')'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'Nothing happens. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'else'        Keyword.Reserved
' '           Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'literal'     Name
' '           Text
'not'         Operator.Word
' '           Text
'in'          Operator.Word
' '           Text
'('           Punctuation
')'           Punctuation
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'gActor'      Name
'.'           Operator
'location'    Name
' '           Text
'=='          Operator
' '           Text
'portico'     Name
' '           Text
'&&'          Operator
' '           Text
'basin'       Name
'.'           Operator
'isMirror'    Name
')'           Punctuation
'\n'          Text

'            ' Text
'{'           Punctuation
'\n'          Text

'                ' Text
''            Text
'if'          Keyword.Reserved
' '           Text
'('           Punctuation
'feather'     Name
'.'           Operator
'location'    Name
' '           Text
'=='          Operator
' '           Text
'basin'       Name
')'           Punctuation
'\n'          Text

'                    ' Text
''            Text
'"'           Literal.String.Double
'The air above the basin shimmers, and the feather bobs on\n                    the rippling water. After a moment, the shimmering\n                    disappears.' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
''            Text
'else'        Keyword.Reserved
'\n'          Text

'                ' Text
'{'           Punctuation
'\n'          Text

'                    ' Text
'/*\n                     *   Venus q̇ la pꝛiere ouyt\n                     *   [...]\n                     *   A lymage ẽuoya loꝛs lame.\n                     *   Si deuĩt ſi treſbelle dame.\n                     *   Quoncq̄s en toute la contree.\n                     *   Not len ſi belle encontree.\n                     *   [...]\n                     *   Doulx amys aĩs ſuy vꝛ̄e amye.\n                     *   Pꝛeſte de voſtre compaignye.\n                     *   Receuoir ⁊ mamoᷣ voꝰ offre.\n                     *   Sil voꝰ plaiſt receuoir tel offre.\n                     *      (MS. Douce 195, fol. 151v)\n                     */' Comment.Multiline
'\n'          Text

'                    ' Text
''            Text
'"'           Literal.String.Double
'The air above the basin shimmers for a moment. You hear\n                    the door opening behind you. Turning around, you see a\n                    woman who looks suspiciously like your statue, except not\n                    the color of marble.' Literal.String.Double
'\\b'         Literal.String.Escape
'\n                    ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'Hello, world,' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
' she says. ' Literal.String.Double
'<q'          Name.Tag
'>'           Name.Tag
'It'          Literal.String.Double
'&rsquo;'     Name.Entity
's nice to be\n                    alive at last! Hello, dearest Pygmentalion.' Literal.String.Double
'</q'         Name.Tag
'>'           Name.Tag
'\\b'         Literal.String.Escape
'\n                    Ah, what beauty! What mastery of syntax! Praise be to\n                    Aphrodite! ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'                    ' Text
''            Text
'finishGameMsg' Name
'('           Punctuation
'ftVictory'   Name
','           Punctuation
'\n'          Text

'                                  ' Text
'['           Punctuation
'finishOptionUndo' Name
','           Punctuation
' '           Text
'finishOptionFullScore' Name
']'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'                ' Text
'}'           Punctuation
'\n'          Text

'            ' Text
'}'           Punctuation
'\n'          Text

'            ' Text
''            Text
'else'        Keyword.Reserved
'\n'          Text

'                ' Text
''            Text
'"'           Literal.String.Double
'Nothing happens. ' Literal.String.Double
'<<if'        Literal.String.Interpol
' '           Text
'keywordToken' Name
'.'           Operator
'scoreCount'  Name
'>>'          Literal.String.Interpol
'Aphrodite said\n                you would need a mirror. ' Literal.String.Double
'<<end>>'     Literal.String.Interpol
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'VerbRule'    Name.Function
'('           Punctuation
'Say'         Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
''            Text
'('           Punctuation
"'"           Literal.String.Single
'say'         Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'shout'       Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'singleLiteral' Name.Constant
'\n'          Text

'    '        Text
':'           Punctuation
' '           Text
'SayAction'   Name.Class
'\n'          Text

'    '        Text
'verbPhrase'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'say/saying (what)' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'VerbRule'    Name.Function
'('           Punctuation
'SayTo'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
''            Text
'('           Punctuation
"'"           Literal.String.Single
'say'         Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'shout'       Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'singleLiteral' Name.Constant
' '           Text
'('           Punctuation
"'"           Literal.String.Single
'at'          Literal.String.Single
"'"           Literal.String.Single
' '           Text
'|'           Punctuation
' '           Text
"'"           Literal.String.Single
'to'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
' '           Text
'singleIobj'  Name.Constant
'\n'          Text

'    '        Text
':'           Punctuation
' '           Text
'SayAction'   Name.Class
'\n'          Text

'    '        Text
'verbPhrase'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'say/saying (what) (to what)' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'/**/ #if /* Revere the basileus. */ 0   \\\n         // Expel the barbarian.\n' Comment.Preproc

';'           Comment
'\n'          Comment

' #ifndef __DEBUG\n' Comment.Preproc

';'           Comment
'\n'          Comment

'  #define __DEBUG\n' Comment.Preproc

';'           Comment
'\n'          Comment

'# else\n'    Comment.Preproc

';'           Comment
'\n'          Comment

'#if 1\n'     Comment.Preproc

';'           Comment
'\n'          Comment

'  #define DEBUG__\n' Comment.Preproc

';'           Comment
'\n'          Comment

'#endif\n'    Comment.Preproc

';'           Comment
'\n'          Comment

' #endif\n'   Comment.Preproc

';'           Comment
'\\\\\n#'     Comment
''            Comment
'endif'       Comment
'\n'          Comment

'/*\n#endif\n?*/' Comment
'\n'          Comment

'//\\\\\n#endif' Comment
'\n'          Comment

"'''"         Comment
'\n#endif\n'  Comment

"'"           Comment
"\\''''"      Comment
'\n#endif\n'  Comment

'\\\\'        Comment
"'''"         Comment
'\n'          Comment

'"""'         Comment
'\n#endif\n'  Comment

'"'           Comment
'\\""""'      Comment
'\n#endif\n'  Comment

'\\\\'        Comment
'"""'         Comment
'\n'          Comment

"'"           Comment
'\n#endif\n'  Comment

"\\'"         Comment
'\n#endif\n'  Comment

'\\\\'        Comment
"'"           Comment
'\n'          Comment

'"'           Comment
'\n#endif\n'  Comment

'\\"'         Comment
'\n#endif\n'  Comment

'\\\\'        Comment
'"'           Comment
'\n'          Comment

"'''"         Comment
'<<'          Comment
"'"           Comment
'<<'          Comment
"'"           Comment
'\n#endif\n'  Comment

"'"           Comment
'>>'          Comment
"'"           Comment
'>>'          Comment
'\n#endif\n'  Comment

"'''"         Comment
'\n'          Comment

'"""'         Comment
'<<'          Comment
"'"           Comment
'<<'          Comment
"'"           Comment
'\n#endif\n'  Comment

"'"           Comment
'>>'          Comment
"'"           Comment
'>>'          Comment
'\n#endif\n'  Comment

'"""'         Comment
'\n'          Comment

"'"           Comment
'<<'          Comment
"'"           Comment
'<<'          Comment
"'"           Comment
'\n#endif\n'  Comment

"'"           Comment
'>>'          Comment
"'"           Comment
'>>'          Comment
'\n#endif\n'  Comment

"'"           Comment
'\n'          Comment

'"'           Comment
'<<'          Comment
"'"           Comment
'<<'          Comment
"'"           Comment
'\n#endif\n'  Comment

"'"           Comment
'>>'          Comment
"'"           Comment
'>>'          Comment
'\n#endif\n'  Comment

'"'           Comment
'//"'         Comment
'\n'          Comment

'\\\n\t#\tendif\n' Comment.Preproc

';'           Punctuation
'\n'          Text

''            Text
'dictionary'  Keyword.Reserved
' '           Text
'barbarianDict' Name.Constant
';'           Punctuation
'\n'          Text

''            Text
'transient'   Keyword.Reserved
' '           Text
''            Text
'xyzzy'       Name.Class
':'           Punctuation
' '           Text
'object'      Keyword.Reserved
';'           Punctuation
'\n'          Text

'DefineIAction' Name.Function
'('           Punctuation
'Xyzzy'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
'execAction'  Name.Function
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'"'           Literal.String.Double
'Only a barbarian could pronounce such a word. ' Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'local'       Keyword.Reserved
' '           Text
'oldSay'      Name.Variable
' '           Text
'='           Operator
' '           Text
't3SetSay'    Name
'('           Punctuation
'{'           Punctuation
'str'         Name.Variable
' '           Text
':'           Punctuation
' '           Text
'nil'         Keyword.Constant
'}'           Punctuation
')'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'try'         Keyword.Reserved
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'new'         Keyword.Reserved
' '           Text
'transient'   Keyword.Reserved
' '           Text
'Vector'      Name.Class
'('           Punctuation
'['           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<< cycling >>' Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<<            at random>>' Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<<then purely at random>>' Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<<as decreasingly likely outcomes>>' Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<<          shuffled>>' Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<<     half shuffled>>' Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<<then      shuffled>>' Literal.String.Interpol
"'"           Literal.String.Single
','           Punctuation
'\n'          Text

'                ' Text
"'"           Literal.String.Single
'<<one of>>'  Literal.String.Interpol
'<<then half shuffled>>' Literal.String.Interpol
"'"           Literal.String.Single
']'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
"'"           Literal.String.Single
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'x'           Name.Attribute
'='           Punctuation
''            Literal.String.Other
' '           Text
'color'       Name.Attribute
'='           Punctuation
'red'         Literal.String.Other
''            Literal.String.Other
' '           Text
'bgcolor'     Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'silver'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
'face'        Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'TADS-Sans'   Literal.String.Double
'"'           Literal.String.Double
'\n            ' Text
'size'        Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'+1'          Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'x'           Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'x'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
"{can't}"     Literal.String.Interpol
'</font'      Name.Tag
'>'           Name.Tag
"\\''''"      Literal.String.Escape
' '           Literal.String.Single
"'"           Literal.String.Single
"'"           Literal.String.Single
' '           Literal.String.Single
"''''"        Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'"'           Literal.String.Double
'"'           Literal.String.Double
'<font'       Name.Tag
' '           Text
'x'           Name.Attribute
'='           Punctuation
''            Literal.String.Other
' '           Text
'color'       Name.Attribute
'='           Punctuation
'red'         Literal.String.Other
''            Literal.String.Other
' '           Text
'bgcolor'     Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'silver'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
'face'        Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'TADS-Sans'   Literal.String.Double
'"'           Literal.String.Double
'\n            ' Text
'size'        Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'+1'          Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'x'           Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'x'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
"{can't}"     Literal.String.Interpol
'</font'      Name.Tag
'>'           Name.Tag
'\\""""'      Literal.String.Escape
' '           Literal.String.Double
'"'           Literal.String.Double
'"'           Literal.String.Double
' '           Literal.String.Double
'""""'        Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'x'           Name.Attribute
'='           Punctuation
''            Literal.String.Other
' '           Text
'color'       Name.Attribute
'='           Punctuation
'red'         Literal.String.Other
''            Literal.String.Other
' '           Text
'face'        Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'TADS-Sans'   Literal.String.Double
'"'           Literal.String.Double
' '           Text
'size'        Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'+1'          Literal.String.Single
"\\'"         Literal.String.Single
'\n            ' Text
'x'           Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'x'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
"{can\\'t}"   Literal.String.Interpol
'</font'      Name.Tag
'>'           Name.Tag
"\\'"         Literal.String.Escape
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<font'       Name.Tag
' '           Text
'x'           Name.Attribute
'='           Punctuation
''            Literal.String.Other
' '           Text
'color'       Name.Attribute
'='           Punctuation
'red'         Literal.String.Other
''            Literal.String.Other
' '           Text
'bgcolor'     Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'silver'      Literal.String.Single
"'"           Literal.String.Single
' '           Text
'size'        Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'+1'          Literal.String.Single
"\\'"         Literal.String.Single
'\n            ' Text
'x'           Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'x'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
"{can\\'t}"   Literal.String.Interpol
'</font'      Name.Tag
'>'           Name.Tag
'\\"'         Literal.String.Escape
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
"'"           Literal.String.Single
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'color=red'   Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' '           Text
'bgcolor'     Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'silver'      Name.Attribute
'\n            ' Text
'face'        Name.Attribute
'='           Punctuation
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'"TADS-Sans"' Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
''            Literal.String.Other
'>'           Name.Tag
'{'           Literal.String.Single
'ca'          Literal.String.Single
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'n'           Literal.String.Single
"\\'"         Literal.String.Escape
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
't'           Literal.String.Single
'}'           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
"\\''''"      Literal.String.Escape
' '           Literal.String.Single
"'"           Literal.String.Single
"'"           Literal.String.Single
' '           Literal.String.Single
"''''"        Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'"'           Literal.String.Double
'"'           Literal.String.Double
'<font'       Name.Tag
' '           Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'color=red'   Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' '           Text
'bgcolor'     Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'silver'      Name.Attribute
'\n            ' Text
'face'        Name.Attribute
'='           Punctuation
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'"TADS-Sans"' Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
''            Literal.String.Other
'>'           Name.Tag
'{'           Literal.String.Double
'ca'          Literal.String.Double
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'n'           Literal.String.Single
"\\'"         Literal.String.Escape
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
't'           Literal.String.Double
'}'           Literal.String.Double
'</font'      Name.Tag
'>'           Name.Tag
'\\""""'      Literal.String.Escape
' '           Literal.String.Double
'"'           Literal.String.Double
'"'           Literal.String.Double
' '           Literal.String.Double
'""""'        Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'color=red'   Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' '           Text
'bgcolor'     Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'silver'      Name.Attribute
'\n            ' Text
'face'        Name.Attribute
'='           Punctuation
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'"TADS-Sans"' Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
''            Literal.String.Other
'>'           Name.Tag
'{'           Literal.String.Single
'ca'          Literal.String.Single
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'n'           Literal.String.Single
"\\'"         Literal.String.Escape
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
't'           Literal.String.Single
'}'           Literal.String.Single
'</font'      Name.Tag
'>'           Name.Tag
"\\'"         Literal.String.Escape
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<font'       Name.Tag
' '           Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'color=red'   Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
' '           Text
'bgcolor'     Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'silver'      Name.Attribute
'\n            ' Text
'face'        Name.Attribute
'='           Punctuation
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'"TADS-Sans"' Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
''            Literal.String.Other
'>'           Name.Tag
'{'           Literal.String.Double
'ca'          Literal.String.Double
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'n'           Literal.String.Single
"\\'"         Literal.String.Escape
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
't'           Literal.String.Double
'}'           Literal.String.Double
'</font'      Name.Tag
'>'           Name.Tag
'\\"'         Literal.String.Escape
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<s'          Name.Tag
' '           Text
'a1'          Name.Attribute
'='           Punctuation
'{\\.}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'a2'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
''            Literal.String.Other
' '           Text
'a3'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'b1'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'b'           Literal.String.Single
"'"           Literal.String.Single
' '           Text
'b2'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'b'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
"'"           Literal.String.Single
' '           Text
'b3'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'b'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'b'           Literal.String.Single
"'"           Literal.String.Single
'\n            ' Text
'c1'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'c'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'c2'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'c'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'c3'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'c'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'c'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'd1'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
"\\'"         Literal.String.Single
' '           Text
'd2'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
'\n            ' Text
'd3'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'e1'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'\\"'         Literal.String.Double
' '           Text
'e2'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
' '           Text
'e3'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
'</s'         Name.Tag
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<s'          Name.Tag
' '           Text
'a1'          Name.Attribute
'='           Punctuation
'{\\.}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'a2'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
''            Literal.String.Other
' '           Text
'a3'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'b1'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'b'           Literal.String.Single
"'"           Literal.String.Single
' '           Text
'b2'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'b'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
"'"           Literal.String.Single
' '           Text
'b3'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'b'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'b'           Literal.String.Single
"'"           Literal.String.Single
'\n            ' Text
'c1'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'c'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'c2'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'c'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'c3'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'c'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'c'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'd1'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
"\\'"         Literal.String.Single
' '           Text
'd2'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
'\n            ' Text
'd3'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'e1'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'\\"'         Literal.String.Double
' '           Text
'e2'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
' '           Text
'e3'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
'</s'         Name.Tag
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<s'          Name.Tag
' '           Text
'a1'          Name.Attribute
'='           Punctuation
'{\\.}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'a2'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
''            Literal.String.Other
' '           Text
'a3'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'c1'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'c'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'c2'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'c'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'c3'          Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'c'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'c'           Literal.String.Double
'"'           Literal.String.Double
'\n            ' Text
'd1'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
"\\'"         Literal.String.Single
' '           Text
'd2'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'd3'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'e1'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'\\"'         Literal.String.Double
' '           Text
'e2'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
'\n            ' Text
'e3'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
'</s'         Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<s'          Name.Tag
' '           Text
'a1'          Name.Attribute
'='           Punctuation
'{\\.}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'a2'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
''            Literal.String.Other
' '           Text
'a3'          Name.Attribute
'='           Punctuation
'a'           Literal.String.Other
'{\\>}'       Literal.String.Interpol
'a'           Literal.String.Other
''            Literal.String.Other
' '           Text
'b1'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'b'           Literal.String.Single
"'"           Literal.String.Single
' '           Text
'b2'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'b'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
"'"           Literal.String.Single
' '           Text
'b3'          Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'b'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'b'           Literal.String.Single
"'"           Literal.String.Single
'\n            ' Text
'd1'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
"\\'"         Literal.String.Single
' '           Text
'd2'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'd3'          Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'd'           Literal.String.Single
'{\\>}'       Literal.String.Interpol
'd'           Literal.String.Single
"\\'"         Literal.String.Single
' '           Text
'e1'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'\\"'         Literal.String.Double
' '           Text
'e2'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
'\n            ' Text
'e3'          Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'e'           Literal.String.Double
'{\\>}'       Literal.String.Interpol
'e'           Literal.String.Double
'\\"'         Literal.String.Double
'>'           Name.Tag
'</s'         Name.Tag
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'{'           Literal.String.Single
'a'           Literal.String.Single
'<<'          Literal.String.Interpol
'1'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'b'           Literal.String.Single
'}'           Literal.String.Single
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'{'           Literal.String.Double
'a'           Literal.String.Double
'<<'          Literal.String.Interpol
'1'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'b'           Literal.String.Double
'}'           Literal.String.Double
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'{'           Literal.String.Single
'a'           Literal.String.Single
'<<'          Literal.String.Interpol
'1'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'b'           Literal.String.Single
'}'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'{'           Literal.String.Double
'a'           Literal.String.Double
'<<'          Literal.String.Interpol
'1'           Literal.Number.Integer
'>>'          Literal.String.Interpol
'b'           Literal.String.Double
'}'           Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"'1'"         Name.Attribute
' '           Text
'b'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'"2"'         Name.Attribute
' '           Text
'c'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"\\'3\\'"     Name.Attribute
' '           Text
'd'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'\\"4\\"'     Name.Attribute
'\n            ' Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'e'           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'='           Punctuation
'5'           Literal.String.Other
''            Literal.String.Other
' '           Text
'f'           Name.Attribute
'='           Punctuation
'6'           Literal.String.Other
"'"           Literal.String.Other
''            Literal.String.Other
' '           Text
'g'           Name.Attribute
'='           Punctuation
'7'           Literal.String.Other
'"'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"'1'"         Name.Attribute
' '           Text
'b'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'"2"'         Name.Attribute
' '           Text
'c'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"\\'3\\'"     Name.Attribute
' '           Text
'd'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'\\"4\\"'     Name.Attribute
'\n            ' Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'e'           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'='           Punctuation
'5'           Literal.String.Other
''            Literal.String.Other
' '           Text
'f'           Name.Attribute
'='           Punctuation
'6'           Literal.String.Other
"'"           Literal.String.Other
''            Literal.String.Other
' '           Text
'g'           Name.Attribute
'='           Punctuation
'7'           Literal.String.Other
'"'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<s'          Name.Tag
' '           Text
'b'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'"2"'         Name.Attribute
' '           Text
'c'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"\\'3\\'"     Name.Attribute
' '           Text
'd'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'\\"4\\"'     Name.Attribute
' '           Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'e'           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'='           Punctuation
'5'           Literal.String.Other
''            Literal.String.Other
' '           Text
'g'           Name.Attribute
'='           Punctuation
'7'           Literal.String.Other
'"'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"'1'"         Name.Attribute
' '           Text
'c'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
"\\'3\\'"     Name.Attribute
' '           Text
'd'           Name.Attribute
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'='           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'\\"4\\"'     Name.Attribute
' '           Text
'<<'          Literal.String.Interpol
"'"           Literal.String.Single
'e'           Literal.String.Single
"'"           Literal.String.Single
'>>'          Literal.String.Interpol
'='           Punctuation
'5'           Literal.String.Other
''            Literal.String.Other
' '           Text
'f'           Name.Attribute
'='           Punctuation
'6'           Literal.String.Other
"'"           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\\\'        Literal.String.Escape
''            Literal.String.Other
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\ '         Literal.String.Escape
'v'           Literal.String.Other
''            Literal.String.Other
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
"{'}"         Literal.String.Interpol
"'"           Literal.String.Single
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{"}'         Literal.String.Interpol
'"'           Literal.String.Double
'\\>'         Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\\\'        Literal.String.Escape
''            Literal.String.Other
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\ '         Literal.String.Escape
'v'           Literal.String.Other
''            Literal.String.Other
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
"{'}"         Literal.String.Interpol
"'"           Literal.String.Single
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{"}'         Literal.String.Interpol
'"'           Literal.String.Double
'\\>'         Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\\\'        Literal.String.Escape
''            Literal.String.Other
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\ '         Literal.String.Escape
'v'           Literal.String.Other
''            Literal.String.Other
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
"{\\'}"       Literal.String.Interpol
"\\'"         Literal.String.Single
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{"}'         Literal.String.Interpol
'"'           Literal.String.Double
'\\>'         Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\\\'        Literal.String.Escape
''            Literal.String.Other
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
'\\ '         Literal.String.Escape
'v'           Literal.String.Other
''            Literal.String.Other
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
"{'}"         Literal.String.Interpol
"'"           Literal.String.Single
'\\>'         Name.Tag
'<s'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'{\\"}'       Literal.String.Interpol
'\\"'         Literal.String.Double
'\\>'         Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'purple>igram' Literal.String.Single
'<'           Literal.String.Single
'/font>'      Literal.String.Single
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'''"         Literal.String.Single
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'{'           Literal.String.Other
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'''"         Literal.String.Single
'}'           Literal.String.Single
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'purple>igram' Literal.String.Double
'<'           Literal.String.Double
'/font>'      Literal.String.Double
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'''"         Literal.String.Single
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'{'           Literal.String.Single
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'''"         Literal.String.Single
'}'           Literal.String.Single
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'purple>igram' Literal.String.Single
'<'           Literal.String.Single
'/font>'      Literal.String.Single
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'''"         Literal.String.Single
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{'           Literal.String.Double
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'''"         Literal.String.Single
'}'           Literal.String.Single
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'purple>igram' Literal.String.Double
'<'           Literal.String.Double
'/font>'      Literal.String.Double
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'purple>igram' Literal.String.Single
'<'           Literal.String.Single
'/font>'      Literal.String.Single
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'{'           Literal.String.Other
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'}'           Literal.String.Double
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'purple>igram' Literal.String.Double
'<'           Literal.String.Double
'/font>'      Literal.String.Double
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'{'           Literal.String.Single
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'}'           Literal.String.Double
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'purple>igram' Literal.String.Single
'<'           Literal.String.Single
'/font>'      Literal.String.Single
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'{'           Literal.String.Double
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'}'           Literal.String.Double
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'purple>igram' Literal.String.Double
'<'           Literal.String.Double
'/font>'      Literal.String.Double
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'purple>igram' Literal.String.Double
'<'           Literal.String.Double
'/font>'      Literal.String.Double
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'{'           Literal.String.Other
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'}'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'purple>igram' Literal.String.Single
'<'           Literal.String.Single
'/font>'      Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'{'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'}'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'purple>igram' Literal.String.Double
'<'           Literal.String.Double
'/font>'      Literal.String.Double
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'"'           Literal.String.Double
'{'           Literal.String.Double
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'}'           Literal.String.Single
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'purple>igram' Literal.String.Double
'<'           Literal.String.Double
'/font>'      Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'{'           Literal.String.Other
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'}'           Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'purple>igram' Literal.String.Single
'<'           Literal.String.Single
'/font>'      Literal.String.Single
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
"'"           Literal.String.Single
'{'           Literal.String.Single
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'}'           Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<font'       Name.Tag
' '           Text
'color'       Name.Attribute
'='           Punctuation
"\\'"         Literal.String.Single
'purple>igram' Literal.String.Single
'<'           Literal.String.Single
'/font>'      Literal.String.Single
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'<t'          Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'\\"'         Literal.String.Double
'{'           Literal.String.Double
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'}'           Literal.String.Double
'\\"'         Literal.String.Escape
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Single
'</xmp'       Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Double
'</xmp'       Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Single
'</xmp'       Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Double
'</xmp'       Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Single
'<\\Xmp'      Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Double
'<\\Xmp'      Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Single
'<\\Xmp'      Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Double
'<\\Xmp'      Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Single
'<\\\\xmp'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Double
'<\\\\xmp'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Single
'<\\\\xmp'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<xmp'        Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'\\x'         Literal.String.Escape
'mp>'         Literal.String.Double
'<\\\\xmp'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<xmp'        Name.Tag
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'<xmp'        Name.Tag
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'<xmp'        Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'<xmp'        Name.Tag
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'listing>'    Literal.String.Single
'<'           Literal.String.Single
'xmp>'        Literal.String.Single
'</listing'   Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'listing>'    Literal.String.Double
'<'           Literal.String.Double
'xmp>'        Literal.String.Double
'</listing'   Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'listing>'    Literal.String.Single
'<'           Literal.String.Single
'xmp>'        Literal.String.Single
'</listing'   Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'listing>'    Literal.String.Double
'<'           Literal.String.Double
'xmp>'        Literal.String.Double
'</listing'   Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'listing>'    Literal.String.Single
'<'           Literal.String.Single
'xmp>'        Literal.String.Single
'<\\listing'  Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'listing>'    Literal.String.Double
'<'           Literal.String.Double
'xmp>'        Literal.String.Double
'<\\listing'  Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'listing>'    Literal.String.Single
'<'           Literal.String.Single
'xmp>'        Literal.String.Single
'<\\listing'  Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'listing>'    Literal.String.Double
'<'           Literal.String.Double
'xmp>'        Literal.String.Double
'<\\listing'  Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'listing>'    Literal.String.Single
'<'           Literal.String.Single
'xmp>'        Literal.String.Single
'<\\\\listing' Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"""'         Literal.String.Double
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'listing>'    Literal.String.Double
'<'           Literal.String.Double
'xmp>'        Literal.String.Double
'<\\\\listing' Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'"           Literal.String.Single
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Single
'amp;'        Literal.String.Single
'\\x26'       Literal.String.Escape
'<'           Literal.String.Single
'b>'          Literal.String.Single
'<'           Literal.String.Single
'listing>'    Literal.String.Single
'<'           Literal.String.Single
'xmp>'        Literal.String.Single
'<\\\\listing' Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
'"'           Literal.String.Double
'<listing'    Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'&'           Literal.String.Double
'amp;'        Literal.String.Double
'\\x26'       Literal.String.Escape
'<'           Literal.String.Double
'b>'          Literal.String.Double
'<'           Literal.String.Double
'listing>'    Literal.String.Double
'<'           Literal.String.Double
'xmp>'        Literal.String.Double
'<\\\\listing' Name.Tag
' '           Text
'a'           Name.Attribute
'='           Punctuation
'v'           Literal.String.Other
''            Literal.String.Other
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'            ' Text
''            Text
"'''"         Literal.String.Single
'<listing'    Name.Tag
'>'           Name.Tag
"'''"         Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"""'         Literal.String.Double
'<listing'    Name.Tag
'>'           Name.Tag
'"""'         Literal.String.Double
''            Punctuation
';'           Punctuation
' '           Text
''            Text
"'"           Literal.String.Single
'<listing'    Name.Tag
'>'           Name.Tag
"'"           Literal.String.Single
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'"'           Literal.String.Double
'<listing'    Name.Tag
'>'           Name.Tag
'"'           Literal.String.Double
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'        '    Text
''            Text
'finally'     Keyword.Reserved
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
't3SetSay'    Name
'('           Punctuation
'oldSay'      Name
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

';'           Punctuation
'\n\n'        Text

'VerbRule'    Name.Function
'('           Punctuation
'Xyzzy'       Name.Variable
')'           Punctuation
'\n'          Text

'    '        Text
''            Text
'"'           Literal.String.Double
'xyzzy'       Literal.String.Double
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'plugh'       Literal.String.Double
'"'           Literal.String.Double
' '           Text
'*'           Punctuation
'\n'          Text

'    '        Text
':'           Punctuation
' '           Text
'XyzzyAction' Name.Class
'\n'          Text

'    '        Text
'verbPhrase'  Name.Variable
' '           Text
'='           Punctuation
' '           Text
"'"           Literal.String.Single
'babble/talking like a barbarian' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

''            Punctuation
';'           Punctuation
'\n\n'        Text

'randomGreekWord' Name.Function
'('           Punctuation
')'           Punctuation
'\n'          Text

'{'           Punctuation
'\n'          Text

'    '        Text
''            Text
'local'       Keyword.Reserved
' '           Text
'vowels'      Name.Variable
' '           Text
'='           Operator
' '           Text
'['           Punctuation
"'"           Literal.String.Single
'a'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'e'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'e'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'i'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'o'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'y'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'o'           Literal.String.Single
"'"           Literal.String.Single
']'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'local'       Keyword.Reserved
' '           Text
'consonants'  Name.Variable
' '           Text
'='           Operator
' '           Text
'['           Punctuation
"'"           Literal.String.Single
'p'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
't'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'k'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'b'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'd'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'g'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
's'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'm'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'n'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'l'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'r'           Literal.String.Single
"'"           Literal.String.Single
']'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'local'       Keyword.Reserved
' '           Text
'clusters'    Name.Variable
' '           Text
'='           Operator
'\n'          Text

'        '    Text
'['           Punctuation
"'"           Literal.String.Single
'pn'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'pl'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'pr'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'tm'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'tr'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'kn'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'kl'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'kr'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'bl'          Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'br'          Literal.String.Single
"'"           Literal.String.Single
']'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'local'       Keyword.Reserved
' '           Text
'ends'        Name.Variable
' '           Text
'='           Operator
' '           Text
'consonants'  Name
' '           Text
'-'           Operator
' '           Text
'['           Punctuation
"'"           Literal.String.Single
'b'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'd'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'g'           Literal.String.Single
"'"           Literal.String.Single
']'           Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'local'       Keyword.Reserved
' '           Text
'word'        Name.Variable
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'local'       Keyword.Reserved
' '           Text
'retries'     Name.Variable
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
''            Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'for'         Keyword.Reserved
' '           Text
'('           Punctuation
'local'       Keyword.Reserved
' '           Text
'r'           Name.Variable
' '           Text
'in'          Keyword
' '           Text
'0'           Literal.Number.Integer
' '           Text
'..'          Punctuation
' '           Text
'-'           Operator
'1'           Literal.Number.Integer
' '           Text
'step'        Keyword
' '           Text
'-'           Operator
'1'           Literal.Number.Integer
')'           Punctuation
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'for'         Keyword.Reserved
' '           Text
'('           Punctuation
'('           Punctuation
'r'           Name
')'           Punctuation
','           Punctuation
' '           Text
'local'       Keyword.Reserved
' '           Text
'i'           Name.Variable
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
','           Punctuation
' '           Text
'local'       Keyword.Reserved
' '           Text
'j'           Name.Variable
' '           Text
'='           Operator
' '           Text
'2'           Literal.Number.Integer
''            Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'i'           Name
' '           Text
'<'           Operator
' '           Text
'j'           Name
''            Punctuation
';'           Punctuation
' '           Text
''            Text
'++'          Operator
'i'           Name
','           Operator
' '           Text
'--'          Operator
'j'           Name
')'           Punctuation
'\n'          Text

'        '    Text
'{'           Punctuation
'\n'          Text

'            ' Text
''            Text
'for'         Keyword.Reserved
' '           Text
'('           Punctuation
'local'       Keyword.Reserved
' '           Text
's'           Name.Variable
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
','           Punctuation
' '           Text
'local'       Keyword.Reserved
' '           Text
'n'           Name.Variable
' '           Text
'in'          Keyword
' '           Text
'['           Punctuation
'90'          Literal.Number.Integer
','           Punctuation
' '           Text
'30'          Literal.Number.Integer
','           Punctuation
' '           Text
'10'          Literal.Number.Integer
']'           Punctuation
''            Punctuation
''            Punctuation
''            Punctuation
';'           Punctuation
' '           Text
';'           Punctuation
' '           Text
''            Text
'--'          Operator
's'           Name
')'           Punctuation
'\n'          Text

'                ' Text
''            Text
'retries'     Name
' '           Text
'-='          Operator
' '           Text
's'           Name
' '           Text
'*'           Operator
' '           Text
'n'           Name
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
'}'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'*='          Operator
' '           Text
'2'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'>>='         Operator
' '           Text
'1'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'/='          Operator
' '           Text
'2'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'<<='         Operator
' '           Text
'1'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'>>>='        Operator
' '           Text
'2'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'%='          Operator
' '           Text
'16'          Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'&='          Operator
' '           Text
'~'           Operator
'1'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'|='          Operator
' '           Text
'2'           Literal.Number.Integer
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'retries'     Name
' '           Text
'^='          Operator
' '           Text
'retries'     Name
' '           Text
'^'           Operator
' '           Text
'retries'     Name
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'do'          Keyword.Reserved
'\n'          Text

'    '        Text
'{'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rand'        Name
'('           Punctuation
"'"           Literal.String.Single
'[ptkbdgsm]?' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'for'         Keyword.Reserved
' '           Text
'('           Punctuation
'local'       Keyword.Reserved
' '           Text
'i'           Name.Variable
' '           Text
'in'          Keyword
' '           Text
'0'           Literal.Number.Integer
' '           Text
'..'          Punctuation
' '           Text
'__TADS3'     Name.Builtin
')'           Punctuation
'\n'          Text

'            ' Text
''            Text
'word'        Name
' '           Text
'+='          Operator
' '           Text
'concat'      Name
'('           Punctuation
'rand'        Name
'('           Punctuation
'rand'        Name
'('           Punctuation
"'"           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'clusters'    Name
','           Punctuation
' '           Text
'consonants'  Name
')'           Punctuation
')'           Punctuation
','           Punctuation
' '           Text
'rand'        Name
'('           Punctuation
"'"           Literal.String.Single
'"h"?'        Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
'\n'          Text

'                           ' Text
'rand'        Name
'('           Punctuation
'vowels'      Name
'...'         Punctuation
')'           Punctuation
','           Punctuation
' '           Text
'rand'        Name
'('           Punctuation
"'"           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
"'"           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'i'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
"'"           Literal.String.Single
'u'           Literal.String.Single
"'"           Literal.String.Single
','           Punctuation
' '           Text
'rand'        Name
'('           Punctuation
'ends'        Name
')'           Punctuation
')'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'+='          Operator
' '           Text
'rand'        Name
'('           Punctuation
"'"           Literal.String.Single
'"s"?'        Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^[pk](?![tnlrhaeioy]|[tnlr]h?[^aeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^b(?![dlrhaeioy]|[dlr]h?[^aeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^g(?![nlrhaeioy]|[nlr]h?[^aeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^t(?![mrhaeioy]|[mlr]h?[^aeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^d(?![rhaeioy]|rh?[^aeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^m(?![nhaeioy]|nh?[^aeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^[^aeioy]h?(([^haeioy]h?){2})' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'[ptkbdgs]([ptkbdg][^haeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'([mnlr])h'   Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'h%1'         Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'(?<!(^|[ptk]))h' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^h(?![aeioy])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'h(?=.*h)'    Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'(?<=^|r)r'   Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'rh'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'([iy]+)[iu]' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'nl'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'll'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'n(?=[pbm])'  Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'm'           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'(?<.)m(?=[tdn])' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'n'           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'pb|bp'       Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'pp'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'td|dt'       Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'tt'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'kg|gk'       Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'kk'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'bs'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'ps'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'ds|sd'       Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'z'           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'gs'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'ks'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'ts'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'ss'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'[^pkaeioyusnr]+(s?)$' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'[pk]+$'      Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'(.h?)%1{2,}' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1%1'        Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^(.h?)%1'    Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'(.h?)%1$'    Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'^y'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'hy'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'([ptk])([ptk])h' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1h%2h'      Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'([ptk])h%1h' Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'%1%1h'       Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'ks'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'x'           Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'gg'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'kg'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'        '    Text
''            Text
'word'        Name
' '           Text
'='           Operator
' '           Text
'rexReplace'  Name
'('           Punctuation
"R'"          Literal.String.Regex
'kh'          Literal.String.Regex
"'"           Literal.String.Regex
','           Punctuation
' '           Text
'word'        Name
','           Punctuation
' '           Text
"'"           Literal.String.Single
'ch'          Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
'}'           Punctuation
' '           Text
''            Text
'while'       Keyword.Reserved
' '           Text
'('           Punctuation
'retries'     Name
'--'          Operator
' '           Text
'&&'          Operator
' '           Text
'('           Punctuation
'word'        Name
'.'           Operator
'length'      Name
'('           Punctuation
')'           Punctuation
' '           Text
'<'           Operator
' '           Text
'4'           Literal.Number.Integer
' '           Text
'||'          Operator
' '           Text
'!'           Operator
'rexSearch'   Name
'('           Punctuation
'\n'          Text

'        '    Text
'new'         Keyword.Reserved
' '           Text
'RexPattern'  Name.Class
'('           Punctuation
"'"           Literal.String.Single
'^(eu|hy|[pgm]n|bd|tm|rh)|(.h.|pp|kc|rr)h|ch([^aeioy])|' Literal.String.Single
"'"           Literal.String.Single
'\n'          Text

'                       ' Text
'+'           Operator
' '           Text
"'"           Literal.String.Single
'([^aeioy])y([^aeioy])$|(ps|x|o[ius])$' Literal.String.Single
"'"           Literal.String.Single
')'           Punctuation
','           Punctuation
' '           Text
'word'        Name
')'           Punctuation
')'           Punctuation
')'           Punctuation
''            Punctuation
';'           Punctuation
'\n'          Text

'    '        Text
''            Text
'return'      Keyword.Reserved
' '           Text
'word'        Name
''            Punctuation
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n'          Text
