<?xml version="1.0" encoding="UTF-8"?>
<!--

 Authors: Zachary Amsden
 Copyright (C) 2008 Zachary Amsden <zamsden@gmail.com>

 This file is free software; you can redistribute it and/or
 modify it under the terms of the GNU Library General Public
 License as published by the Free Software Foundation; either
 version 2 of the License, or (at your option) any later version.

 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 Library General Public License for more details.

 You should have received a copy of the GNU Library General Public
 License along with this library; if not, write to the
 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.

-->
<language id="inform" _name="Inform" version="2.0" _section="Sources">
    <metadata>
      <property name="mimetypes">text/x-inform</property>
      <property name="globs">*.inf</property>
      <property name="line-comment-start">!</property>
    </metadata>

    <styles>
        <style id="comment"     _name="Comment"         map-to="def:comment"/>
        <style id="error"       _name="Error"           map-to="def:error"/>
        <style id="string"      _name="String"          map-to="def:string"/>
        <style id="keyword"     _name="Keyword"         map-to="def:keyword"/>
        <style id="number"      _name="Number"          map-to="def:number"/>
        <style id="function"    _name="Function"        map-to="def:string"/>
        <style id="escape"      _name="Escape Char"     map-to="def:string"/>
        <style id="assembly"    _name="Assembly"        map-to="def:keyword"/>
        <style id="directive"   _name="Directive"       map-to="def:keyword"/>
        <style id="property"    _name="Property"        map-to="def:keyword"/>
    </styles>

    <default-regex-options case-sensitive="false"/>

    <definitions>
	<context id="string" style-ref="string">
		<start>"</start>
		<end>"</end>
		<include>
		    <context id="escape" style-ref="escape">
		        <match>[~^\\]|@(@\d+)?</match>
		    </context>
		</include>
	</context>
	
	<context id="dictionary-string" style-ref="string">
	    <match>&apos;[[:alnum:]^-](//|([[:alnum:]^-]*(//p?)?))&apos;</match>
	</context>

	<context id="character-constant" style-ref="number">
		<match>&apos;[[:print:]]&apos;</match>
	</context>

	<context id="decimal" style-ref="number">
		<match>\b[0-9]+\b</match>
	</context>

	<context id="hexadecimal" style-ref="number">
		<match>\b$[0-9A-Fa-f]+\b</match>
	</context>

	<context id="binary" style-ref="number">
		<match>\b$$[01]+\b</match>
	</context>

    <context id="assembly" style-ref="assembly">
        <match>@\w+</match>
    </context>
    
    <context id="function">
        <start>(\[\s+([a-zA-Z_]\w*))(\s+[a-zA-Z_]\w*)*\s*;</start>
        <end>(\])</end>
        <include>
            <context id="function-start" style-ref="function" sub-pattern="1" 
            where="start"/>
            <context id="function-end" style-ref="function" sub-pattern="1"
            where="end"/>
            <context ref="inform:*"/>
        </include>
    </context>

	<context id="line-comment" style-ref="comment" end-at-line-end="true"
	style-inside="true">
		<start>!</start>
		<include>
		  <context ref="def:in-line-comment"/>
		</include>
	</context>

    <context id="I6Directives" style-ref="directive">
	  <keyword>Constant</keyword>
	  <keyword>Array</keyword>
	  <keyword>Attribute</keyword>
	  <keyword>Class</keyword>
	  <keyword>Nearby</keyword>
	  <keyword>Object</keyword>
	  <keyword>Property</keyword>
	  <keyword>String</keyword>
	  <keyword>Routine</keyword>
	  <keyword>Import</keyword>
	  <keyword>Include</keyword>
	  <keyword>Link</keyword>
	  <keyword>Replace</keyword>
	  <keyword>System_file</keyword>
	  <keyword>End</keyword>
	  <keyword>Endif</keyword>
	  <keyword>Ifdef</keyword>
	  <keyword>Ifndef</keyword>
	  <keyword>Iftrue</keyword>
	  <keyword>Iffalse</keyword>
	  <keyword>Ifv3</keyword>
	  <keyword>Ifv5</keyword>
	  <keyword>Ifnot</keyword>
	  <keyword>Abbreviate</keyword>
	  <keyword>Default</keyword>
	  <keyword>Fake_action</keyword>
	  <keyword>Lowstring</keyword>
	  <keyword>Message</keyword>
	  <keyword>Release</keyword>
	  <keyword>Serial</keyword>
	  <keyword>Statusline</keyword>
	  <keyword>Stub</keyword>
	  <keyword>Switches</keyword>
	  <keyword>Trace</keyword>
	  <keyword>Zcharacter</keyword>
	  <keyword>Global</keyword>
	  <keyword>Verb</keyword>
	  <keyword>Extend</keyword>
	</context>

    <context id="I6Properties" style-ref="property">
      <keyword>absent</keyword>
	  <keyword>animate</keyword>
	  <keyword>clothing</keyword>
	  <keyword>concealed</keyword>
	  <keyword>container</keyword>
	  <keyword>door</keyword>
	  <keyword>edible</keyword>
	  <keyword>enterable</keyword>
	  <keyword>female</keyword>
	  <keyword>general</keyword>
	  <keyword>light</keyword>
	  <keyword>lockable</keyword>
	  <keyword>locked</keyword>
	  <keyword>male</keyword>
	  <keyword>moved</keyword>
	  <keyword>neuter</keyword>
	  <keyword>on</keyword>
	  <keyword>open</keyword>
	  <keyword>openable</keyword>
	  <keyword>pluralname</keyword>
	  <keyword>proper</keyword>
	  <keyword>scenery</keyword>
	  <keyword>scored</keyword>
	  <keyword>static</keyword>
	  <keyword>supporter</keyword>
	  <keyword>switchable</keyword>
	  <keyword>talkable</keyword>
	  <keyword>visited</keyword>
	  <keyword>workflag</keyword>
	  <keyword>worn</keyword>
	  <keyword>transparent</keyword>
	  <keyword>e_to</keyword>
	  <keyword>se_to</keyword>
	  <keyword>s_to</keyword>
	  <keyword>sw_to</keyword>
	  <keyword>w_to</keyword>
	  <keyword>nw_to</keyword>
	  <keyword>n_to</keyword>
	  <keyword>ne_to</keyword>
	  <keyword>u_to</keyword>
	  <keyword>d_to</keyword>
	  <keyword>in_to</keyword>
	  <keyword>out_to</keyword>
	  <keyword>before</keyword>
	  <keyword>after</keyword>
	  <keyword>life</keyword>
	  <keyword>door_to</keyword>
	  <keyword>with_key</keyword>
	  <keyword>door_dir</keyword>
	  <keyword>invent</keyword>
	  <keyword>plural</keyword>
	  <keyword>add_to_scope</keyword>
	  <keyword>list_together</keyword>
	  <keyword>react_before</keyword>
	  <keyword>react_after</keyword>
	  <keyword>grammar</keyword>
	  <keyword>orders</keyword>
	  <keyword>initial</keyword>
	  <keyword>when_open</keyword>
	  <keyword>when_closed</keyword>
	  <keyword>when_on</keyword>
	  <keyword>when_off</keyword>
	  <keyword>description</keyword>
	  <keyword>describe</keyword>
	  <keyword>article</keyword>
	  <keyword>cant_go</keyword>
	  <keyword>found_in</keyword>
	  <keyword>time_left</keyword>
	  <keyword>number</keyword>
	  <keyword>time_out</keyword>
	  <keyword>daemon</keyword>
	  <keyword>each_turn</keyword>
	  <keyword>capacity</keyword>
	  <keyword>name</keyword>
	  <keyword>short_name</keyword>
	  <keyword>short_name_indef</keyword>
	  <keyword>parse_name</keyword>
	  <keyword>articles</keyword>
	  <keyword>inside_description</keyword>
	  <keyword>e_obj</keyword>
	  <keyword>se_obj</keyword>
	  <keyword>s_obj</keyword>
	  <keyword>sw_obj</keyword>
	  <keyword>w_obj</keyword>
	  <keyword>nw_obj</keyword>
	  <keyword>n_obj</keyword>
	  <keyword>ne_obj</keyword>
	  <keyword>u_obj</keyword>
	  <keyword>d_obj</keyword>
	  <keyword>in_obj</keyword>
	  <keyword>out_obj</keyword>
	  <keyword>compass</keyword>
	  <keyword>thedark</keyword>
	  <keyword>selfobj</keyword>
	  <keyword>player</keyword>
	  <keyword>location</keyword>
	  <keyword>second</keyword>
	  <keyword>actor</keyword>
	  <keyword>noun</keyword>
	</context>

	<context id="I6Library" style-ref="keyword">
	  <keyword>Achieved</keyword>
	  <keyword>AfterRoutines</keyword>
	  <keyword>AddToScope</keyword>
	  <keyword>AllowPushDir</keyword>
	  <keyword>Banner</keyword>
	  <keyword>ChangeDefault</keyword>
	  <keyword>ChangePlayer</keyword>
	  <keyword>CommonAncestor</keyword>
	  <keyword>DictionaryLookup</keyword>
	  <keyword>DisplayStatus</keyword>
	  <keyword>DoMenu</keyword>
	  <keyword>DrawStatusLine</keyword>
	  <keyword>EnglishNumber</keyword>
	  <keyword>HasLightSource</keyword>
	  <keyword>GetGNAOfObject</keyword>
	  <keyword>IndirectlyContains</keyword>
	  <keyword>IsSeeThrough</keyword>
	  <keyword>Locale</keyword>
	  <keyword>LoopOverScope</keyword>
	  <keyword>LTI_Insert</keyword>
	  <keyword>MoveFloatingObjects</keyword>
	  <keyword>NextWord</keyword>
	  <keyword>NextWordStopped</keyword>
	  <keyword>NounDomain</keyword>
	  <keyword>ObjectIsUntouchable</keyword>
	  <keyword>OffersLight</keyword>
	  <keyword>ParseToken</keyword>
	  <keyword>PlaceInScope</keyword>
	  <keyword>PlayerTo</keyword>
	  <keyword>PrintShortName</keyword>
	  <keyword>PronounNotice</keyword>
	  <keyword>ScopeWithin</keyword>
	  <keyword>SetPronoun</keyword>
	  <keyword>SetTime</keyword>
	  <keyword>StartDaemon</keyword>
	  <keyword>StartTimer</keyword>
	  <keyword>StopDaemon</keyword>
	  <keyword>StopTimer</keyword>
	  <keyword>TestScope</keyword>
	  <keyword>TryNumber</keyword>
	  <keyword>UnsignedCompare</keyword>
	  <keyword>WordAddress</keyword>
	  <keyword>WordInProperty</keyword>
	  <keyword>WordLength</keyword>
	  <keyword>WriteListFrom</keyword>
	  <keyword>YesOrNo</keyword>
	  <keyword>ZRegion</keyword>
	  <keyword>RunRoutines</keyword>
	  <keyword>AfterLife</keyword>
	  <keyword>AfterPrompt</keyword>
	  <keyword>Amusing</keyword>
	  <keyword>BeforeParsing</keyword>
	  <keyword>ChooseObjects</keyword>
	  <keyword>DarkToDark</keyword>
	  <keyword>DeathMessage</keyword>
	  <keyword>GamePostRoutine</keyword>
	  <keyword>GamePreRoutine</keyword>
	  <keyword>Initialise</keyword>
	  <keyword>InScope</keyword>
	  <keyword>LookRoutine</keyword>
	  <keyword>NewRoom</keyword>
	  <keyword>ParseNoun</keyword>
	  <keyword>ParseNumber</keyword>
	  <keyword>ParserError</keyword>
	  <keyword>PrintRank</keyword>
	  <keyword>PrintVerb</keyword>
	  <keyword>PrintTaskName</keyword>
	  <keyword>TimePasses</keyword>
	  <keyword>UnknownVerb</keyword>
	  <keyword>IdentifyGlkObject</keyword>
	  <keyword>HandleGlkEvent</keyword>
	  <keyword>InitGlkWindow</keyword>
	</context>

	<!-- Due to a bug in GtkSourceView, there cannot be more than 250
	keywords in a keyword list -->
	<context id="I6Library2" style-ref="keyword">
	  <keyword>Quit</keyword>
	  <keyword>Restart</keyword>
	  <keyword>Restore</keyword>
	  <keyword>Verify</keyword>
	  <keyword>Save</keyword>
	  <keyword>ScriptOn</keyword>
	  <keyword>ScriptOff</keyword>
	  <keyword>Pronouns</keyword>
	  <keyword>Score</keyword>
	  <keyword>Fullscore</keyword>
	  <keyword>LMode1</keyword>
	  <keyword>LMode2</keyword>
	  <keyword>LMode3</keyword>
	  <keyword>NotifyOn</keyword>
	  <keyword>NotifyOff</keyword>
	  <keyword>Version</keyword>
	  <keyword>Places</keyword>
	  <keyword>Objects</keyword>
	  <keyword>TraceOn</keyword>
	  <keyword>TraceOff</keyword>
	  <keyword>TraceLevel</keyword>
	  <keyword>ActionsOn</keyword>
	  <keyword>ActionsOff</keyword>
	  <keyword>RoutinesOn</keyword>
	  <keyword>RoutinesOff</keyword>
	  <keyword>TimersOn</keyword>
	  <keyword>TimersOff</keyword>
	  <keyword>CommandsOn</keyword>
	  <keyword>CommandsOff</keyword>
	  <keyword>CommandsRead</keyword>
	  <keyword>Predictable</keyword>
	  <keyword>XPurloin</keyword>
	  <keyword>XAbstract</keyword>
	  <keyword>XTree</keyword>
	  <keyword>Scope</keyword>
	  <keyword>Goto</keyword>
	  <keyword>Gonear</keyword>
	  <keyword>Inv</keyword>
	  <keyword>InvTall</keyword>
	  <keyword>InvWide</keyword>
	  <keyword>Take</keyword>
	  <keyword>Drop</keyword>
	  <keyword>Remove</keyword>
	  <keyword>PutOn</keyword>
	  <keyword>Insert</keyword>
	  <keyword>Transfer</keyword>
	  <keyword>Empty</keyword>
	  <keyword>Enter</keyword>
	  <keyword>Exit</keyword>
	  <keyword>GetOff</keyword>
	  <keyword>Go</keyword>
	  <keyword>Goin</keyword>
	  <keyword>Look</keyword>
	  <keyword>Examine</keyword>
	  <keyword>Search</keyword>
	  <keyword>Give</keyword>
	  <keyword>Show</keyword>
	  <keyword>Unlock</keyword>
	  <keyword>Lock</keyword>
	  <keyword>SwitchOn</keyword>
	  <keyword>SwitchOff</keyword>
	  <keyword>Open</keyword>
	  <keyword>Close</keyword>
	  <keyword>Disrobe</keyword>
	  <keyword>Wear</keyword>
	  <keyword>Eat</keyword>
	  <keyword>Yes</keyword>
	  <keyword>No</keyword>
	  <keyword>Burn</keyword>
	  <keyword>Pray</keyword>
	  <keyword>Wake</keyword>
	  <keyword>WakeOther</keyword>
	  <keyword>Consult</keyword>
	  <keyword>Kiss</keyword>
	  <keyword>Think</keyword>
	  <keyword>Smell</keyword>
	  <keyword>Listen</keyword>
	  <keyword>Taste</keyword>
	  <keyword>Touch</keyword>
	  <keyword>Dig</keyword>
	  <keyword>Cut</keyword>
	  <keyword>Jump</keyword>
	  <keyword>JumpOver</keyword>
	  <keyword>Tie</keyword>
	  <keyword>Drink</keyword>
	  <keyword>Fill</keyword>
	  <keyword>Sorry</keyword>
	  <keyword>Strong</keyword>
	  <keyword>Mild</keyword>
	  <keyword>Attack</keyword>
	  <keyword>Swim</keyword>
	  <keyword>Swing</keyword>
	  <keyword>Blow</keyword>
	  <keyword>Rub</keyword>
	  <keyword>Set</keyword>
	  <keyword>SetTo</keyword>
	  <keyword>WaveHands</keyword>
	  <keyword>Wave</keyword>
	  <keyword>Pull</keyword>
	  <keyword>Push</keyword>
	  <keyword>PushDir</keyword>
	  <keyword>Turn</keyword>
	  <keyword>Squeeze</keyword>
	  <keyword>LookUnder</keyword>
	  <keyword>ThrowAt</keyword>
	  <keyword>Tell</keyword>
	  <keyword>Answer</keyword>
	  <keyword>Buy</keyword>
	  <keyword>Ask</keyword>
	  <keyword>AskFor</keyword>
	  <keyword>Sing</keyword>
	  <keyword>Climb</keyword>
	  <keyword>Wait</keyword>
	  <keyword>Sleep</keyword>
	  <keyword>LetGo</keyword>
	  <keyword>Receive</keyword>
	  <keyword>ThrownAt</keyword>
	  <keyword>Order</keyword>
	  <keyword>TheSame</keyword>
	  <keyword>PluralFound</keyword>
	  <keyword>Miscellany</keyword>
	  <keyword>Prompt</keyword>
	  <keyword>ChangesOn</keyword>
	  <keyword>ChangesOff</keyword>
	  <keyword>Showverb</keyword>
	  <keyword>Showobj</keyword>
	  <keyword>EmptyT</keyword>
	  <keyword>VagueGo</keyword>
	  <keyword>GlkList</keyword>
	  <keyword>keep_silent</keyword>
	  <keyword>deadflag</keyword>
	  <keyword>action</keyword>
	  <keyword>special_number</keyword>
	  <keyword>consult_from</keyword>
	  <keyword>consult_words</keyword>
	  <keyword>etype</keyword>
	  <keyword>verb_num</keyword>
	  <keyword>verb_word</keyword>
	  <keyword>the_time</keyword>
	  <keyword>real_location</keyword>
	  <keyword>c_style</keyword>
	  <keyword>parser_one</keyword>
	  <keyword>parser_two</keyword>
	  <keyword>listing_together</keyword>
	  <keyword>wn</keyword>
	  <keyword>parser_action</keyword>
	  <keyword>scope_stage</keyword>
	  <keyword>scope_reason</keyword>
	  <keyword>action_to_be</keyword>
	  <keyword>menu_item</keyword>
	  <keyword>item_name</keyword>
	  <keyword>item_width</keyword>
	  <keyword>lm_o</keyword>
	  <keyword>lm_n</keyword>
	  <keyword>inventory_style</keyword>
	  <keyword>task_scores</keyword>
	  <keyword>inventory_stage</keyword>
	  <keyword>AMUSING_PROVIDED</keyword>
	  <keyword>DEBUG</keyword>
	  <keyword>Headline</keyword>
	  <keyword>MAX_CARRIED</keyword>
	  <keyword>MAX_SCORE</keyword>
	  <keyword>MAX_TIMERS</keyword>
	  <keyword>NO_PLACES</keyword>
	  <keyword>NUMBER_TASKS</keyword>
	  <keyword>OBJECT_SCORE</keyword>
	  <keyword>ROOM_SCORE</keyword>
	  <keyword>SACK_OBJECT</keyword>
	  <keyword>Story</keyword>
	  <keyword>TASKS_PROVIDED</keyword>
	  <keyword>WITHOUT_DIRECTIONS</keyword>
	  <keyword>NEWLINE_BIT</keyword>
	  <keyword>INDENT_BIT</keyword>
	  <keyword>FULLINV_BIT</keyword>
	  <keyword>ENGLISH_BIT</keyword>
	  <keyword>RECURSE_BIT</keyword>
	  <keyword>ALWAYS_BIT</keyword>
	  <keyword>TERSE_BIT</keyword>
	  <keyword>PARTINV_BIT</keyword>
	  <keyword>DEFART_BIT</keyword>
	  <keyword>WORKFLAG_BIT</keyword>
	  <keyword>ISARE_BIT</keyword>
	  <keyword>CONCEAL_BIT</keyword>
	  <keyword>PARSING_REASON</keyword>
	  <keyword>TALKING_REASON</keyword>
	  <keyword>EACHTURN_REASON</keyword>
	  <keyword>REACT_BEFORE_REASON</keyword>
	  <keyword>REACT_AFTER_REASON</keyword>
	  <keyword>TESTSCOPE_REASON</keyword>
	  <keyword>LOOPOVERSCOPE_REASON</keyword>
	  <keyword>STUCK_PE</keyword>
	  <keyword>UPTO_PE</keyword>
	  <keyword>NUMBER_PE</keyword>
	  <keyword>CANTSEE_PE</keyword>
	  <keyword>TOOLIT_PE</keyword>
	  <keyword>NOTHELD_PE</keyword>
	  <keyword>MULTI_PE</keyword>
	  <keyword>MMULTI_PE</keyword>
	  <keyword>VAGUE_PE</keyword>
	  <keyword>EXCEPT_PE</keyword>
	  <keyword>ANIMA_PE</keyword>
	  <keyword>VERB_PE</keyword>
	  <keyword>SCENERY_PE</keyword>
	  <keyword>ITGONE_PE</keyword>
	  <keyword>JUNKAFTER_PE</keyword>
	  <keyword>TOOFEW_PE</keyword>
	  <keyword>NOTHING_PE</keyword>
	  <keyword>ASKSCOPE_PE</keyword>
	</context>

	<context id="I6Lang" style-ref="keyword">
	  <keyword>child</keyword>
	  <keyword>children</keyword>
	  <keyword>elder</keyword>
	  <keyword>indirect</keyword>
	  <keyword>parent</keyword>
	  <keyword>random</keyword>
	  <keyword>sibling</keyword>
	  <keyword>younger</keyword>
	  <keyword>youngest</keyword>
	  <keyword>metaclass</keyword>
	  <keyword>glk</keyword>
	  <keyword>adjectives_table</keyword>
	  <keyword>actions_table</keyword>
	  <keyword>classes_table</keyword>
	  <keyword>identifiers_table</keyword>
	  <keyword>preactions_table</keyword>
	  <keyword>version_number</keyword>
	  <keyword>largest_object</keyword>
	  <keyword>strings_offset</keyword>
	  <keyword>code_offset</keyword>
	  <keyword>dict_par1</keyword>
	  <keyword>dict_par2</keyword>
	  <keyword>dict_par3</keyword>
	  <keyword>actual_largest_object</keyword>
	  <keyword>static_memory_offset</keyword>
	  <keyword>cpv__start</keyword>
	  <keyword>cpv__end</keyword>
	  <keyword>ipv__start</keyword>
	  <keyword>ipv__end</keyword>
	  <keyword>array__start</keyword>
	  <keyword>array__end</keyword>
	  <keyword>lowest_attribute_number</keyword>
	  <keyword>highest_attribute_number</keyword>
	  <keyword>attribute_names_array</keyword>
	  <keyword>lowest_property_number</keyword>
	  <keyword>highest_property_number</keyword>
	  <keyword>property_names_array</keyword>
	  <keyword>lowest_action_number</keyword>
	  <keyword>highest_action_number</keyword>
	  <keyword>action_names_array</keyword>
	  <keyword>lowest_fake_action_number</keyword>
	  <keyword>highest_fake_action_number</keyword>
	  <keyword>fake_action_names_array</keyword>
	  <keyword>lowest_routine_number</keyword>
	  <keyword>highest_routine_number</keyword>
	  <keyword>routines_array</keyword>
	  <keyword>routine_names_array</keyword>
	  <keyword>routine_flags_array</keyword>
	  <keyword>lowest_global_number</keyword>
	  <keyword>highest_global_number</keyword>
	  <keyword>globals_array</keyword>
	  <keyword>global_names_array</keyword>
	  <keyword>global_flags_array</keyword>
	  <keyword>lowest_array_number</keyword>
	  <keyword>highest_array_number</keyword>
	  <keyword>arrays_array</keyword>
	  <keyword>array_names_array</keyword>
	  <keyword>array_flags_array</keyword>
	  <keyword>lowest_constant_number</keyword>
	  <keyword>highest_constant_number</keyword>
	  <keyword>constants_array</keyword>
	  <keyword>constant_names_array</keyword>
	  <keyword>lowest_class_number</keyword>
	  <keyword>highest_class_number</keyword>
	  <keyword>class_objects_array</keyword>
	  <keyword>lowest_object_number</keyword>
	  <keyword>highest_object_number</keyword>
	  <keyword>default</keyword>
	  <keyword>else</keyword>
	  <keyword>if</keyword>
	  <keyword>switch</keyword>
	  <keyword>break</keyword>
	  <keyword>continue</keyword>
	  <keyword>do</keyword>
	  <keyword>for</keyword>
	  <keyword>objectloop</keyword>
	  <keyword>until</keyword>
	  <keyword>while</keyword>
	  <keyword>box</keyword>
	  <keyword>font</keyword>
	  <keyword>give</keyword>
	  <keyword>inversion</keyword>
	  <keyword>jump</keyword>
	  <keyword>move</keyword>
	  <keyword>new_line</keyword>
	  <keyword>print</keyword>
	  <keyword>print_ret</keyword>
	  <keyword>quit</keyword>
	  <keyword>read</keyword>
	  <keyword>remove</keyword>
	  <keyword>restore</keyword>
	  <keyword>return</keyword>
	  <keyword>rfalse</keyword>
	  <keyword>rtrue</keyword>
	  <keyword>save</keyword>
	  <keyword>spaces</keyword>
	  <keyword>string</keyword>
	  <keyword>style</keyword>
	  <keyword>roman</keyword>
	  <keyword>reverse</keyword>
	  <keyword>bold</keyword>
	  <keyword>underline</keyword>
	  <keyword>fixed</keyword>
	  <keyword>on</keyword>
	  <keyword>off</keyword>
	  <keyword>to</keyword>
	  <keyword>near</keyword>
	  <keyword>from</keyword>
	  <keyword>dictionary</keyword>
	  <keyword>symbols</keyword>
	  <keyword>objects</keyword>
	  <keyword>verbs</keyword>
	  <keyword>assembly</keyword>
	  <keyword>expressions</keyword>
	  <keyword>lines</keyword>
	  <keyword>tokens</keyword>
	  <keyword>linker</keyword>
	  <keyword>on</keyword>
	  <keyword>off</keyword>
	  <keyword>alias</keyword>
	  <keyword>long</keyword>
	  <keyword>additive</keyword>
	  <keyword>score</keyword>
	  <keyword>time</keyword>
	  <keyword>string</keyword>
	  <keyword>table</keyword>
	  <keyword>with</keyword>
	  <keyword>private</keyword>
	  <keyword>has</keyword>
	  <keyword>class</keyword>
	  <keyword>error</keyword>
	  <keyword>fatalerror</keyword>
	  <keyword>warning</keyword>
	  <keyword>self</keyword>
	  <keyword>remaining</keyword>
	  <keyword>create</keyword>
	  <keyword>destroy</keyword>
	  <keyword>recreate</keyword>
	  <keyword>copy</keyword>
	  <keyword>call</keyword>
	  <keyword>print_to_array</keyword>
	  <keyword>has</keyword>
	  <keyword>hasnt</keyword>
	  <keyword>in</keyword>
	  <keyword>notin</keyword>
	  <keyword>ofclass</keyword>
	  <keyword>or</keyword>
	  <keyword>provides</keyword>
	  <keyword>noun</keyword>
	  <keyword>held</keyword>
	  <keyword>multi</keyword>
	  <keyword>multiheld</keyword>
	  <keyword>multiexcept</keyword>
	  <keyword>multiinside</keyword>
	  <keyword>creature</keyword>
	  <keyword>special</keyword>
	  <keyword>number</keyword>
	  <keyword>scope</keyword>
	  <keyword>topic</keyword>
	  <keyword>reverse</keyword>
	  <keyword>meta</keyword>
	  <keyword>only</keyword>
	  <keyword>replace</keyword>
	  <keyword>first</keyword>
	  <keyword>last</keyword>
	</context>

    <context id="inform">
      <include>
        <context ref="string"/>
        <context ref="dictionary-string"/>
        <context ref="line-comment"/>
        <context ref="I6Directives"/>
        <context ref="I6Properties"/>
        <context ref="I6Library"/>
        <context ref="I6Library2"/>
        <context ref="I6Lang"/>
        <context ref="binary"/>
        <context ref="decimal"/>
        <context ref="hexadecimal"/>
        <context ref="function"/>
        <context ref="assembly"/>
      </include>
    </context>
  </definitions>
</language>
