Revert to original minimal Inform lexer.
[ibg.git] / chapters / 13.rst
index 3eb00a7d0c8ab6ccd1c456b2d3633afb219e4275..16b4283e7172e2b5f81f5a8128daba7c97f10749 100644 (file)
@@ -26,7 +26,7 @@ Additional catering garnish
 
 We must not forget a couple of tiny details in the café room:
 
 
 We must not forget a couple of tiny details in the café room:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Object   food "Benny's snacks" cafe
     with   name 'food' 'pastry' 'pastries' 'sandwich' 'sandwiches' 'snack'
 
   Object   food "Benny's snacks" cafe
     with   name 'food' 'pastry' 'pastries' 'sandwich' 'sandwiches' 'snack'
@@ -49,7 +49,7 @@ We must not forget a couple of tiny details in the café room:
 
 And a not-so-trivial object:
 
 
 And a not-so-trivial object:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Object  coffee "cup of coffee" benny
     with  name 'cup' 'of' 'coffee' 'steaming' 'cappuccino'
 
   Object  coffee "cup of coffee" benny
     with  name 'cup' 'of' 'coffee' 'steaming' 'cappuccino'
@@ -121,7 +121,7 @@ erm, bogged down with details of the room's function or plumbing.
 There's not a lot about the toilet room and its contents, though there 
 will be some tricky side effects:
 
 There's not a lot about the toilet room and its contents, though there 
 will be some tricky side effects:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Room    toilet "Unisex toilet"
     with  description
 
   Room    toilet "Unisex toilet"
     with  description
@@ -190,7 +190,7 @@ there's no light to see by. However, let's define first the light switch
 mentioned in the room's description to aid players in their dressing 
 duties.
 
 mentioned in the room's description to aid players in their dressing 
 duties.
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Appliance  light_switch "light switch" toilet
     with     name 'light' 'switch',
 
   Appliance  light_switch "light switch" toilet
     with     name 'light' 'switch',
@@ -235,7 +235,7 @@ attribute, which is set or cleared automatically as needed. You can, of
 course, set or clear it manually like any other attribute, with the 
 ``give`` statement:
 
 course, set or clear it manually like any other attribute, with the 
 ``give`` statement:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   give self on;
 
 
   give self on;
 
@@ -243,7 +243,7 @@ course, set or clear it manually like any other attribute, with the
 
 and check if a ``switchable`` object is on or off with the test:
 
 
 and check if a ``switchable`` object is on or off with the test:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   if (light_switch has on) ...
 
 
   if (light_switch has on) ...
 
@@ -252,14 +252,14 @@ and check if a ``switchable`` object is on or off with the test:
 A ``switchable`` object is OFF by default. However, you’ll notice that 
 the has line of the object definition includes ``~on`` :
 
 A ``switchable`` object is OFF by default. However, you’ll notice that 
 the has line of the object definition includes ``~on`` :
 
-.. code-block:: inform6
+.. code-block:: inform
 
   has    switchable ~on;
 
 Surely that’s saying "not-on"? Surely that's what would have happened 
 anyway if the line hadn't mentioned the attribute at all?
 
 
   has    switchable ~on;
 
 Surely that’s saying "not-on"? Surely that's what would have happened 
 anyway if the line hadn't mentioned the attribute at all?
 
-.. code-block:: inform6
+.. code-block:: inform
 
   has    switchable;
 
 
   has    switchable;
 
@@ -318,7 +318,7 @@ perhaps it would be a good idea to append a little code to the door
 object to account for this. A couple of lines in the after property will 
 suffice:
 
 object to account for this. A couple of lines in the after property will 
 suffice:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   after [ ks;
     Unlock:
 
   after [ ks;
     Unlock:
@@ -422,7 +422,7 @@ example to fix our particular problem. In the section "``Entry point
 routines``" of our game -- after the ``Initialise`` routine, for 
 instance -- include the following lines:
 
 routines``" of our game -- after the ``Initialise`` routine, for 
 instance -- include the following lines:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   [ InScope person;
       if (person == player && location == thedark && real_location == toilet) {
 
   [ InScope person;
       if (person == player && location == thedark && real_location == toilet) {
@@ -451,7 +451,7 @@ player is in *even when there is no light to see by*.
 
 So the test:
 
 
 So the test:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   if (person == player && location == thedark && real_location == toilet) ...
 
 
   if (person == player && location == thedark && real_location == toilet) ...
 
@@ -518,7 +518,7 @@ every object that the player has picked up at one time in the game;
 have ``moved``. Here is the reworked ``InScope`` routine. There are a 
 couple of new concepts to look at:
 
 have ``moved``. Here is the reworked ``InScope`` routine. There are a 
 couple of new concepts to look at:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   [ InScope person item;
       if (person == player && location == thedark && real_location == toilet) {
 
   [ InScope person item;
       if (person == player && location == thedark && real_location == toilet) {
@@ -557,7 +557,7 @@ objects in the same room as the player, so we instead code:
 
 What is the actual :samp:`{statement}` that we'll repeatedly execute?
 
 
 What is the actual :samp:`{statement}` that we'll repeatedly execute?
 
-.. code-block:: inform6
+.. code-block:: inform
 
   if (item has moved)
       PlaceInScope(item);
 
   if (item has moved)
       PlaceInScope(item);
@@ -582,7 +582,7 @@ Amazing techicolour dreamcoats
 This leaves us the clothing items themselves, which will require a few 
 tailored actions. Let's see first the ordinary garments of John Covarth:
 
 This leaves us the clothing items themselves, which will require a few 
 tailored actions. Let's see first the ordinary garments of John Covarth:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Object  clothes "your clothes"
     with  name 'ordinary' 'street' 'clothes' 'clothing',
 
   Object  clothes "your clothes"
     with  name 'ordinary' 'street' 'clothes' 'clothing',
@@ -683,7 +683,7 @@ change into the hero's suit, after which we'll prevent a change back
 into ordinary clothes. So now we are dealing with a Captain Fate in full 
 costume:
 
 into ordinary clothes. So now we are dealing with a Captain Fate in full 
 costume:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Object   costume "your costume"
     with   name 'captain' 'captain^s' 'fate' 'fate^s' 'costume' 'suit',
 
   Object   costume "your costume"
     with   name 'captain' 'captain^s' 'fate' 'fate^s' 'costume' 'suit',
@@ -725,7 +725,7 @@ All the objects of our game are defined. Now we must add a couple of
 lines to the ``Initialise`` routine to make sure that the player does 
 not start the game naked:
 
 lines to the ``Initialise`` routine to make sure that the player does 
 not start the game naked:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   [ Initialise;
       #Ifdef DEBUG; pname_verify(); #Endif;       ! suggested by pname.h
 
   [ Initialise;
       #Ifdef DEBUG; pname_verify(); #Endif;       ! suggested by pname.h
@@ -752,7 +752,7 @@ The designer of the package has made a debugging tool (a routine) to
 check for errors when using his library, and he tells us how to use it. 
 So we include the suggested lines into our ``Initialise`` routine:
 
 check for errors when using his library, and he tells us how to use it. 
 So we include the suggested lines into our ``Initialise`` routine:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   #Ifdef DEBUG; pname_verify(); #Endif;
 
 
   #Ifdef DEBUG; pname_verify(); #Endif;
 
@@ -788,7 +788,7 @@ line. Therefore, we must define a ``DeathMessage`` routine as we did in
 "William Tell", to write our customised messages and assign them to 
 ``deadflag`` values greater than 2.
 
 "William Tell", to write our customised messages and assign them to 
 ``deadflag`` values greater than 2.
 
-.. code-block:: inform6
+.. code-block:: inform
 
   [ DeathMessage;
       if (deadflag == 3) print "Your secret identity has been revealed";
 
   [ DeathMessage;
       if (deadflag == 3) print "Your secret identity has been revealed";
@@ -802,7 +802,7 @@ Finally, we need to extend the existing grammar, to allow for a couple
 of things. We have already seen that we need a verb CHANGE. We'll make 
 it really simple:
 
 of things. We have already seen that we need a verb CHANGE. We'll make 
 it really simple:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   [ ChangeSub;
       if (noun has pluralname) print "They're";
 
   [ ChangeSub;
       if (noun has pluralname) print "They're";
@@ -828,7 +828,7 @@ One might reasonably imagine that the ``default`` line at the end of the
 ``Give`` action in the orders property handles every input not already 
 specified:
 
 ``Give`` action in the orders property handles every input not already 
 specified:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   orders [;
     Give:
 
   orders [;
     Give:
@@ -845,7 +845,7 @@ specified:
 Not so. The library grammar that deals with ASK BENNY FOR... is this
 (specifically, the last line):
 
 Not so. The library grammar that deals with ASK BENNY FOR... is this
 (specifically, the last line):
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Verb 'ask'
       * creature 'about' topic    -> Ask
 
   Verb 'ask'
       * creature 'about' topic    -> Ask
@@ -866,7 +866,7 @@ takes very little to allow Benny to use his default line for *any*
 undefined input from the player. We need to extend the existing ASK 
 grammar:
 
 undefined input from the player. We need to extend the existing ASK 
 grammar:
 
-.. code-block:: inform6
+.. code-block:: inform
 
   Extend 'ask'
       * creature 'for' topic    -> AskFor;
 
   Extend 'ask'
       * creature 'for' topic    -> AskFor;