mirror of
https://github.com/ganelson/inform.git
synced 2024-07-09 02:24:21 +03:00
178 lines
5.5 KiB
Plaintext
178 lines
5.5 KiB
Plaintext
# This is a miscellany of tests.
|
|
|
|
packagetype _plain
|
|
packagetype _code
|
|
|
|
version 7
|
|
|
|
primitive !return val -> void
|
|
primitive !modulo val val -> val
|
|
primitive !plus val val -> val
|
|
|
|
pragma target_I6 "$MAX_STATIC_DATA=180000"
|
|
|
|
package main _plain
|
|
symbol public misc K_number
|
|
symbol public misc K_truth_state
|
|
symbol public misc V_banana
|
|
symbol public misc C_death
|
|
symbol public misc C_taxes
|
|
symbol public misc V_anxiety
|
|
symbol public misc C_x
|
|
symbol public misc cornelius
|
|
symbol public misc gaius
|
|
symbol public misc mark_my_words
|
|
symbol external misc peach
|
|
symbol public misc K_colour
|
|
symbol public misc I_green
|
|
symbol public misc I_red
|
|
symbol public misc V_shade
|
|
symbol public misc K_list_of_number
|
|
symbol public misc C_primes
|
|
symbol public misc C_concealed
|
|
symbol public misc V_watch_list
|
|
symbol public misc 718_varieties
|
|
symbol public misc K_text
|
|
symbol public misc C_complaint
|
|
symbol public misc C_raw
|
|
symbol public misc K_odour
|
|
symbol public misc I_citrus
|
|
symbol public misc I_leather
|
|
symbol public misc P_strength
|
|
symbol public misc pp_auto_1
|
|
symbol public misc P_lingeringness
|
|
symbol public misc pp_auto_2
|
|
symbol public misc K_table
|
|
symbol public misc K_column_of_number
|
|
symbol public misc K_column_of_colour
|
|
symbol public misc C_egtable_col1
|
|
symbol public misc C_egtable_col2
|
|
symbol public misc C_egtable
|
|
symbol public misc K_object
|
|
symbol public misc I_board
|
|
symbol public misc K_piece
|
|
symbol public misc I_bishop
|
|
symbol public misc I_rook
|
|
symbol public misc K_list_of_objects
|
|
symbol public misc C_majors
|
|
symbol public misc pp_auto_3
|
|
symbol public misc K_func
|
|
symbol public misc K_rule
|
|
symbol public misc K_rulebook
|
|
symbol public misc K_stuff
|
|
symbol public misc S_stuff
|
|
symbol public misc R_after1_B
|
|
symbol public misc R_after2_B
|
|
symbol public misc R_after1
|
|
symbol public misc R_after2
|
|
symbol public misc RB_after
|
|
symbol public misc K_colour____colour
|
|
symbol public misc R_101_B
|
|
symbol public misc R_101
|
|
symbol public misc R_102_B
|
|
symbol public misc R_102
|
|
symbol public misc amount
|
|
symbol public misc R_101_A
|
|
kind K_number int32
|
|
kind K_truth_state int2
|
|
defaultvalue K_number = 47
|
|
variable V_banana K_number = 100
|
|
constant C_death K_number = -5
|
|
constant C_taxes K_number = 14
|
|
variable V_anxiety K_number = C_death
|
|
constant C_x K_number = 0x7f2a __hex
|
|
link early "alpha" "beta" "gamma" "delta"
|
|
link before "alpha" "" "" ""
|
|
link instead "" "beta" "" ""
|
|
link after "" "" "gamma" ""
|
|
constant cornelius K_number = dw'frogs'
|
|
constant gaius K_number = dw'toads'
|
|
marker mark_my_words
|
|
splat &"Sing a song of \"six splats\"...\nand don't wait up"
|
|
# Spong.
|
|
kind K_colour enum
|
|
instance I_green K_colour = 1
|
|
instance I_red K_colour = 17
|
|
variable V_shade K_colour = I_red
|
|
kind K_list_of_number list of K_number
|
|
constant C_primes K_list_of_number = { 2, 3, 5, 7, 11, 13, 17, 19 }
|
|
constant C_concealed K_list_of_number = C_primes
|
|
variable V_watch_list K_list_of_number = C_concealed
|
|
marker 718_varieties
|
|
kind K_text text
|
|
constant C_complaint K_text = "This is already quite a long test case."
|
|
constant C_raw K_number = &"SOME_I6_DRIVEL"
|
|
kind K_odour enum
|
|
instance I_citrus K_odour = 5
|
|
instance I_leather K_odour = 10
|
|
property P_strength K_number __name="strength"
|
|
permission P_strength K_odour
|
|
propertyvalue P_strength I_citrus = 20
|
|
propertyvalue P_strength I_leather = 7
|
|
property P_lingeringness K_number
|
|
permission P_lingeringness K_odour
|
|
propertyvalue P_lingeringness I_citrus = 1
|
|
propertyvalue P_lingeringness I_leather = 3
|
|
propertyvalue P_lingeringness K_odour = 2
|
|
kind K_table table
|
|
kind K_column_of_number column of K_number
|
|
kind K_column_of_colour column of K_colour
|
|
constant C_egtable_col1 K_column_of_number = { 1, 4, 9, 16 }
|
|
constant C_egtable_col2 K_column_of_colour = { I_green, undef, I_red }
|
|
constant C_egtable K_table = { C_egtable_col1, C_egtable_col2 }
|
|
kind K_object enum
|
|
instance I_board K_object = 1
|
|
kind K_piece <= K_object
|
|
instance I_bishop K_piece = 2
|
|
instance I_rook K_piece = 3
|
|
kind K_list_of_objects list of K_object
|
|
constant C_majors K_list_of_objects = { I_bishop, I_rook }
|
|
permission P_lingeringness I_bishop
|
|
kind K_func function K_colour K_number -> K_odour
|
|
kind K_rule rule void -> void
|
|
kind K_rulebook rulebook of K_rule
|
|
kind K_stuff struct K_number K_colour K_odour
|
|
constant S_stuff K_stuff = { 5, I_red, I_citrus }
|
|
package R_after1_B _code
|
|
package R_after2_B _code
|
|
constant R_after1 K_rule = R_after1_B
|
|
constant R_after2 K_rule = R_after2_B
|
|
constant RB_after K_rulebook = { R_after1, R_after2 }
|
|
kind K_colour____colour function K_colour -> K_colour
|
|
package R_101_B _code
|
|
symbol private label .begin
|
|
symbol private label .end
|
|
symbol private misc x
|
|
symbol external misc K_colour == /main/K_colour
|
|
symbol external misc R_102 == /main/R_102
|
|
symbol external misc I_green == /main/I_green
|
|
symbol external misc K_number == /main/K_number
|
|
symbol external misc K_truth_state == /main/K_truth_state
|
|
local x K_colour __call_parameter
|
|
.begin
|
|
inv R_102
|
|
val K_colour I_green
|
|
inv !return
|
|
inv !modulo
|
|
inv !plus
|
|
cast K_number <- K_colour
|
|
val K_colour x
|
|
val K_number 1
|
|
val K_truth_state &"a b"
|
|
.end
|
|
constant R_101 K_colour____colour = R_101_B
|
|
package R_102_B _code
|
|
symbol private label .begin
|
|
symbol private label .end
|
|
symbol private misc x
|
|
symbol external misc K_colour == /main/K_colour
|
|
symbol external misc I_red == /main/I_red
|
|
local x K_colour __call_parameter
|
|
.begin
|
|
inv !return
|
|
val K_colour I_red
|
|
.end
|
|
constant R_102 K_colour____colour = R_102_B
|
|
constant amount K_number = sum{ 2, C_taxes }
|
|
response R_101_A R_101 0 = C_taxes
|