diff options
author | Matth?us G. Chajdas <dev@anteru.net> | 2019-11-10 13:56:53 +0100 |
---|---|---|
committer | Matth?us G. Chajdas <dev@anteru.net> | 2019-11-10 13:56:53 +0100 |
commit | 1dd3124a9770e11b6684e5dd1e6bc15a0aa3bc67 (patch) | |
tree | 87a171383266dd1f64196589af081bc2f8e497c3 /tests/examplefiles/inform6_example | |
parent | f1c080e184dc1bbc36eaa7cd729ff3a499de568a (diff) | |
download | pygments-master.tar.gz |
Diffstat (limited to 'tests/examplefiles/inform6_example')
-rw-r--r-- | tests/examplefiles/inform6_example | 375 |
1 files changed, 0 insertions, 375 deletions
diff --git a/tests/examplefiles/inform6_example b/tests/examplefiles/inform6_example deleted file mode 100644 index 6fa1fe5b..00000000 --- a/tests/examplefiles/inform6_example +++ /dev/null @@ -1,375 +0,0 @@ -!% $SMALL ! This is ICL, not a comment. -!% -w - -!% A comprehensive test of Inform6Lexer. - -Switches d2SDq; - -Constant Story "Informal Testing"; -Constant Headline "^Not a game.^";!% This is a comment, not ICL. - -Release 3; -Serial "151213"; -Version 5; - -Ifndef TARGET_ZCODE; -Ifndef TARGET_GLULX; -Ifndef WORDSIZE; -Default WORDSIZE 2; -Constant TARGET_ZCODE; -Endif; -Endif; -Endif; - -Ifv3; Message "Compiling to version 3"; Endif; -Ifv5; Message "Not compiling to version 3"; endif; -ifdef TARGET_ZCODE; -#IFTRUE (#version_number == 5); -Message "Compiling to version 5"; -#ENDIF; -endif ; - -Replace CreatureTest; - -Include "Parser"; -Include "VerbLib"; - -# ! A hash is optional at the top level. -Object kitchen "Kitchen" - with description "You are in a kitchen.", - arr 1 2 3 4, - has light; - -#[ Initialise; - location = kitchen; - print "v"; inversion; "^"; -]; - -Ifdef VN_1633; -Replace IsSeeThrough IsSeeThroughOrig; -[ IsSeeThrough * o; - return o hasnt opaque || IsSeeThroughOrig(o); -]; -Endif; - -Abbreviate "test"; - -Array table buffer 260; - -Attribute reversed; -Attribute opaque alias locked; -Constant to reversed; - -Property long additive additive long alias; -Property long long long wingspan alias alias; - -Class Flier with wingspan 5; -Class Bird(10) has animate class Flier with wingspan 2; - -Constant Constant1; -Constant Constant2 Constant1; -Constant Constant3 = Constant2; -Ifdef VN_1633; Undef Constant; Endif; - -Ifdef VN_1633; -Dictionary 'word' 1 2; -Ifnot; -Dictionary dict_word "word"; -Endif; - -Fake_action NotReal; - -Global global1; -Global global2 = 69105; - -Lowstring low_string "low string"; - -Iftrue false; -Message error "Uh-oh!^~false~ shouldn't be ~true~."; -Endif; -Iffalse true; -Message fatalerror "Uh-oh!^~true~ shouldn't be ~false~."; -Endif; - -Nearby person "person" - with name 'person', - description "This person is barely implemented.", - life [ * x y z; - Ask: print_ret (The) self, " says nothing."; - Answer: print (The) self, " didn't say anything.^"; rfalse; - ] - has has animate transparent; - -Object -> -> test_tube "test tube" - with name 'test' "tube" 'testtube', - has ~openable ~opaque container; - -Bird -> pigeon - with name 'pigeon', - description [; - "The pigeon has a wingspan of ", self.&wingspan-->0, " wing units."; - ]; - -Object -> "thimble" with name 'thimble'; - -Object -> pebble "pebble" with name 'pebble'; - -Ifdef TARGET_ZCODE; Trace objects; Endif; - -Statusline score; - -Stub StubR 3; - -Ifdef TARGET_ZCODE; -Zcharacter "abcdefghijklmnopqrstuvwxyz" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "123456789.,!?_#'0/@{005C}-:()"; -Zcharacter table '@!!' '@<<' '@'A'; -Zcharacter table + '@AE' '@{dc}' '@et' '@:y'; -Ifnot; -Ifdef TARGET_GLULX; -Message "Glulx doesn't use ~Zcharacter~.^Oh well."; ! '~' and '^' work here. -Ifnot; -Message warning "Uh-oh! ^~^"; ! They don't work in other Messages. -Endif; -Endif; - -Include "Grammar"; - -Verb"acquire"'collect'='take'; - -[ NounFilter; return noun ofclass Bird; ]; - -[ ScopeFilter obj; - switch (scope_stage) { - 1: rtrue; - 2: objectloop (obj in compass) PlaceInScope(obj); - 3: "Nothing is in scope."; - } -]; - -Verb meta "t" 'test' - * 'held' held -> TestHeld - * number -> TestNumber - * reversed -> TestAttribute - * 'creature' creature -> TestCreature - * 'multiheld' multiheld -> TestMultiheld - * 'm' multiexcept 'into'/"in" noun -> TestMultiexcept - * 'm' multiinside 'from' noun -> TestMultiinside - * multi -> TestMulti - * 'filter'/'f' noun=NounFilter -> TestNounFilter - * 'filter'/'f' scope=ScopeFilter -> TestScopeFilter - * 'special' special -> TestSpecial - * topic -> TestTopic; - -Verb 'reverse' 'swap' 'exchange' - * held 'for' noun -> reverse - * noun 'with' noun -> reverse reverse; - -Extend "t" last * noun -> TestNoun; - -Extend 't' first * -> Test; - -Extend 'wave' replace * -> NewWave; - -Extend only 'feel' 'touch' replace * noun -> Feel; - -[ TestSub "a\ - " b o "@@98"; ! Not an escape sequence. - string 25 low_string; - print "Test what?> "; - table->0 = 260; - parse->0 = 61; - #Ifdef TARGET_ZCODE; - read buffer parse; - #Ifnot; ! TARGET_GLULX - KeyboardPrimitive(buffer, parse); - #Endif; ! TARGET_ - switch (parse-->1) { - 'save': - #Ifdef TARGET_ZCODE; - #Ifv3; - @save ?saved; - #Ifnot; - save saved; - #Endif; - #Endif; - print "Saving failed.^"; - 'restore': - #Ifdef TARGET_ZCODE; - restore saved; - #Endif; - print "Restoring failed.^"; - 'restart': - @restart; - 'quit', 'q//': - quit; - return 2; rtrue; rfalse; return; - 'print', 'p//': - print "Print:^", - " (string): ", (string) "xyzzy^", - " (number): ", (number) 123, "^", - " (char): ", (char) 'x', "^", - " (address): ", (address) 'plugh//p', "^", - " (The): ", (The) person, "^", - " (the): ", (the) person, "^", - " (A): ", (A) person, "^", - " (a): ", (a) person, "^", - " (an): ", (an) person, "^", - " (name): ", (name) person, "^", - " (object): ", (object) person, "^", - " (property): ", (property) alias, "^", - " (<routine>): ", (LanguageNumber) 123, "^", - " <expression>: ", a * 2 - 1, "^", - " (<expression>): ", (a + person), "^"; - print "Escapes:^", - " by mnemonic: @!! @<< @'A @AE @et @:y^", - " by decimal value: @@64 @@126^", - " by Unicode value: @{DC}@{002b}^", - " by string variable: @25^"; - 'font', 'style': - font off; print "font off^"; - font on; print "font on^"; - style reverse; print "style reverse^"; style roman; - style bold; print "style bold^"; - style underline; print "style underline^"; - style fixed; print "style fixed^"; - style roman; print "style roman^"; - 'statements': - spaces 8; - objectloop (o) { - print "objectloop (o): ", (the) o, "^"; - } - objectloop (o in compass) { ! 'in' is a keyword - print "objectloop (o in compass): ", (the) o, "^"; - } - objectloop (o in compass && true) { ! 'in' is an operator - print "objectloop (o in compass && true): ", (the) o, "^"; - } - objectloop (o from se_obj) { - print "objectloop (o from se_obj): ", (the) o, "^"; - } - objectloop (o near person) { - print "objectloop (o near person): ", (the) o, "^"; - } - #Ifdef TARGET_ZCODE; - #Trace assembly on; -@ ! This is assembly. - add -4 ($$1+$3)*2 -> b; - @get_sibling test_tube -> b ?saved; - @inc [b]; - @je sp (1+3*0) ? equal; - @je 1 ((sp)) ?~ different; - .! This is a label: - equal; - print "sp == 1^"; - jump label; - .different; - print "sp @@126= 1^"; - .label; - #Trace off; #Endif; ! TARGET_ZCODE - a = random(10); - switch (a) { - 1, 9: - box "Testing oneself is best when done alone." - " -- Jimmy Carter"; - 2, 6, to, 3 to 5, to to to: - <Take pigeon>; - #Ifdef VN_1633; - <Jump, person>; - #Endif; - a = ##Drop; - < ! The angle brackets may be separated by whitespace. - < (a) pigeon > >; - default: - do { - give person general ~general; - } until (person provides life && ~~false); - if (a == 7) a = 4; - else a = 5; - } - 'expressions': - a = 1+1-1*1/1%1&1|1&&1||1==(1~=(1>(1<(1>=(1<=1))))); - a++; ++a; a--; --a; - a = person.life; - a = kitchen.&arr; - a = kitchen.#arr; - a = Bird::wingspan; - a = kitchen has general; - a = kitchen hasnt general; - a = kitchen provides arr; - a = person in kitchen; - a = person notin kitchen; - a = person ofclass Bird; - a = a == 0 or 1; - a = StubR(); - a = StubR(a); - a = StubR(, a); - a = "string"; - a = 'word'; - a = '''; ! character - a = $09afAF; - a = $$01; - a = ##Eat; a = #a$Eat; - a = #g$self; - a = #n$!word; - a = #r$StubR; - a = #dict_par1; - default: - for (a = 2, b = a; (a < buffer->1 + 2) && (Bird::wingspan): ++a, b--) { - print (char) buffer->a; - } - new_line; - for (::) break; - } - .saved;; -]; - -[ TestNumberSub; - print_ret parsed_number, " is ", (number) parsed_number, "."; -]; - -[ TestAttributeSub; print_ret (The) noun, " has been reversed."; ]; - -[ CreatureTest obj; return obj has animate; ]; - -[ TestCreatureSub; print_ret (The) noun, " is a creature."; ]; - -[ TestMultiheldSub; print_ret "You are holding ", (the) noun, "."; ]; - -[ TestMultiexceptSub; "You test ", (the) noun, " with ", (the) second, "."; ]; - -[ TestMultiinsideSub; "You test ", (the) noun, " from ", (the) second, "."; ]; - -[ TestMultiSub; print_ret (The) noun, " is a thing."; ]; - -[ TestNounFilterSub; print_ret (The) noun, " is a bird."; ]; - -[ TestScopeFilterSub; print_ret (The) noun, " is a direction."; ]; - -[ TestSpecialSub; "Your lucky number is ", parsed_number, "."; ]; - -[ TestTopicSub; "You discuss a topic."; ]; - -[ TestNounSub; "That is ", (a) noun, "."; ]; - -[ TestHeldSub; "You are holding ", (a) noun, "."; ]; - -[ NewWaveSub; "That would be foolish."; ]; - -[ FeelSub; print_ret (The) noun, " feels normal."; ]; - -[ ReverseSub from; - from = parent(noun); - move noun to parent(second); - if (from == to) - move second to to; - else - move second to from; - give noun to; - from = to; - give second from; - "You swap ", (the) noun, " and ", (the) second, "."; -]; - -End: The End directive ends the source code. |