Graham Nelson
a1aa7642e9
Documented and rounded out some debugging features
2022-04-18 15:46:46 +01:00
Graham Nelson
73fbe6c357
Merge pull request #1 from ptomato/linux-fixes
...
Linux fixes
2022-04-15 09:53:52 +01:00
Graham Nelson
72640a8ed9
Attempt at platform-independent random number generator for C output
2022-04-15 09:43:36 +01:00
Philip Chimento
bd0a483b70
Declare i7_properties as extern
...
I guess this worked as written in Clang, but GCC interprets the
declaration without "extern" as a definition, meaning that the actual
definition later in inform7_clib.c counts as a double definition.
2022-04-14 22:10:00 -07:00
Philip Chimento
f5bd4ff06c
Add platform-dependent compiler settings for Linux
2022-04-14 22:10:00 -07:00
Graham Nelson
ccedaace19
Merge pull request #2 from DavidKinder/master
...
Fixes for running tests on Windows
2022-04-14 23:38:22 +01:00
Graham Nelson
0f3fb2e2d2
Fix for Mantis bug 1750
2022-04-14 19:15:39 +01:00
David Kinder
c88c9de7ce
Get inter tests passing on Windows
2022-04-14 10:07:28 +01:00
David Kinder
899e3dda98
Make random()/rand() change in CWeb source
2022-04-13 21:52:12 +01:00
Graham Nelson
64cb491307
Fix for Mantis bug 1850
2022-04-13 19:21:21 +01:00
Graham Nelson
ac6d8143c2
Removing three rogue files
2022-04-10 23:00:48 +01:00
Graham Nelson
d25ed3f1be
Removed some unreachable code causing compiler warnings
2022-04-10 16:47:32 +01:00
Graham Nelson
70ff5f4fd3
Fix for Mantis bug 1983
2022-04-10 15:00:26 +01:00
Graham Nelson
b2e838c06d
Refactored indexing to become a new pipeline stage
2022-04-09 14:52:23 +01:00
Graham Nelson
a27ac533bc
Bug fix for spacing in Alphabetic index of Actions
2022-04-09 12:15:22 +01:00
Graham Nelson
994d29968c
Better incremental kit-building
2022-04-05 12:14:27 +01:00
Graham Nelson
cba72a3537
Improved source website
2022-04-04 18:31:44 +01:00
Graham Nelson
e1be3d516d
Minor documentation improvements
2022-03-31 12:32:39 +01:00
Graham Nelson
d0b83c2686
Better type parsing in textual Inter
2022-03-28 07:57:52 +01:00
Graham Nelson
4dea2b3159
Numerous bugs fixed in loading large textual Inter files
2022-03-27 23:14:38 +01:00
Graham Nelson
fa8aa0f0a9
Improvements to out-of-sequence Inter loading
2022-03-26 23:18:41 +00:00
Graham Nelson
1a5d36ec01
Fixed issue with forward references in binary Inter
2022-03-25 23:37:32 +00:00
Graham Nelson
c876a87d40
Improved command-line interface for inter
2022-03-24 23:35:22 +00:00
Graham Nelson
fdbb235a63
Shaved about 5cs off
2022-03-24 10:53:32 +00:00
Graham Nelson
ab4de63628
Sped up compiler by around 10%
2022-03-23 09:49:43 +00:00
Graham Nelson
1008887dc8
Improved pipeline documentation
2022-03-22 21:11:49 +00:00
Graham Nelson
9e18fef68d
Clarified documentation on Inter conventions
2022-03-21 23:44:15 +00:00
Graham Nelson
fb2687b873
Completed simplification of annotations
2022-03-21 10:32:13 +00:00
Graham Nelson
9fa4d0e196
Marked text literals using a typename rather than an annotation
2022-03-20 23:45:45 +00:00
Graham Nelson
d1f5dc4304
Further reduction in annotation use
2022-03-20 13:41:13 +00:00
Graham Nelson
fe6747d594
Removed scope and noun filter annotations
2022-03-19 23:20:20 +00:00
Graham Nelson
f3c4f9140a
Eliminated the two verb annotations
2022-03-17 22:50:28 +00:00
Graham Nelson
dd97aa9eb1
Eliminated TABLEARRAY_IANN and similar annotations
2022-03-17 12:07:10 +00:00
Graham Nelson
0ab1d23d9e
Eliminated HEX_IANN and SIGNED_IANN
2022-03-17 00:19:49 +00:00
Graham Nelson
df5da12ead
Removed BIP_IANN annotation
2022-03-16 23:33:49 +00:00
Graham Nelson
dbe4475f50
Further work on documenting and tidying Inter
2022-03-15 23:54:53 +00:00
Graham Nelson
3356979162
Improved Inter manual and minor syntax tweaks
2022-03-15 14:01:15 +00:00
Graham Nelson
0b545c37b5
Completed work on bytecode module
2022-03-14 13:53:55 +00:00
Graham Nelson
b3d258d332
Removed the defaultvalue instruction from Inter
2022-03-13 22:39:41 +00:00
Graham Nelson
a524ba53f1
Better handling of construct IDs
2022-03-13 22:08:41 +00:00
Graham Nelson
ce3fb2aa52
Better encapsulated implementation of constant instruction
2022-03-13 21:18:06 +00:00
Graham Nelson
51004bb8bf
Improved remaining instructions
2022-03-13 11:28:33 +00:00
Graham Nelson
07258333cc
Improved inv, lab, label
2022-03-12 23:44:46 +00:00
Graham Nelson
6497f9ace2
Improved assembly, cast and code instructions
2022-03-12 08:53:32 +00:00
Graham Nelson
c3b7e28bec
Reworked typename instructions
2022-03-11 21:38:53 +00:00
Graham Nelson
4b561c4bd0
Improved variable instruction
2022-03-11 19:22:44 +00:00
Graham Nelson
66d2c31ba9
Improved property and propertyvalue instructions
2022-03-11 18:57:49 +00:00
Graham Nelson
86222f4863
Further instructions
2022-03-11 11:15:11 +00:00
Graham Nelson
c14b967d7c
Revised the package constructs
2022-03-10 23:54:43 +00:00
Graham Nelson
7c0d5bb5fd
Simplified insert construct, formerly link
2022-03-08 22:56:48 +00:00
Graham Nelson
d8b631f67a
Three more instructions improved
2022-03-07 23:06:30 +00:00
Graham Nelson
1b6a7babf4
New __extent annotation for arrays initialised to zero entries
2022-03-03 11:05:03 +00:00
Graham Nelson
8bf644a54a
Advanced inform6 to v6.36 and added test cases
2022-03-03 00:10:25 +00:00
Graham Nelson
df5d9892e3
Improvements to the constant construct
2022-03-02 00:04:54 +00:00
Graham Nelson
652af138a8
Much systematic renaming
2022-03-01 00:41:22 +00:00
Graham Nelson
ed6d3cb165
Completed work on Inter metadata and errors
2022-02-28 22:24:58 +00:00
Graham Nelson
511158c148
Finished refactoring of pairs
2022-02-27 23:52:33 +00:00
Graham Nelson
8833435afe
Completed the pair refactoring
2022-02-27 18:14:05 +00:00
Graham Nelson
07f58e4006
Continued pair refactoring
2022-02-25 11:42:06 +00:00
Graham Nelson
49964c7d52
Furthered the abstraction of inter_pair
2022-02-24 23:53:40 +00:00
Graham Nelson
7ed7e2fd01
Began refactoring inter pairs
2022-02-24 10:24:24 +00:00
Graham Nelson
779288a3d0
Refactored inter verification
2022-02-23 23:37:43 +00:00
Graham Nelson
6d9a15ce6e
Abstracted symbol definition fields of instructions
2022-02-23 09:40:43 +00:00
Graham Nelson
306705709b
Simplified use of typenames
2022-02-22 23:31:47 +00:00
Graham Nelson
37d1759459
Refactored Inter types yet further
2022-02-21 13:05:50 +00:00
Graham Nelson
c1004bacc2
Unified KIND_IST constructors and inter_data_type
2022-02-20 12:17:21 +00:00
Graham Nelson
6e11c6de4d
Tidying up
2022-02-18 09:32:46 +00:00
Graham Nelson
5abb42405b
Further attempts to abstract types
2022-02-17 22:58:43 +00:00
Graham Nelson
5cd527b8a6
Began refactoring inter types
2022-02-17 10:38:00 +00:00
Graham Nelson
f868d826a0
Began making constant optionally kindless
2022-02-16 23:44:18 +00:00
Graham Nelson
654f31793f
Further use of optional kind-checking in Inter
2022-02-15 10:04:22 +00:00
Graham Nelson
9ff95ee1dc
Beginning to make kind-checking optional in Inter
2022-02-14 23:45:34 +00:00
Graham Nelson
b3d2a9c149
Simplified and completed binary Inter file format
2022-02-13 23:44:50 +00:00
Graham Nelson
4def889965
Completed updating inter test cases
2022-02-13 09:03:25 +00:00
Graham Nelson
9e6f18ca73
Updating inter test suite to catch up with recent developments
2022-02-12 23:27:30 +00:00
Graham Nelson
7a6a9b034e
Abolished the symbol pseudo-construct
2022-02-11 10:48:26 +00:00
Graham Nelson
151a00bcc6
Changed representation of comments in Inter
2022-02-09 23:48:51 +00:00
Graham Nelson
a589a3c1c1
Improved inter construct code
2022-02-09 10:33:49 +00:00
Graham Nelson
b1c9de89f6
Improved syntax specification for Inter constructs
2022-02-09 00:00:30 +00:00
Graham Nelson
30d7e057a7
Added !enableprinting opcode to assist Inter test cases
2022-02-08 19:06:41 +00:00
Graham Nelson
66344eab61
Made toy test cases work again for inter
2022-02-08 11:37:44 +00:00
Graham Nelson
1a5116a51f
Began work on instructions and textual Inter
2022-02-07 23:30:40 +00:00
Graham Nelson
ba1f69da63
Completed main tree code in bytecode
2022-02-06 22:33:07 +00:00
Graham Nelson
5e58faf366
Clarified connectors
2022-02-06 01:12:01 +00:00
Graham Nelson
c17d5ba65a
Reduced memory overhead for annotations
2022-02-05 12:27:28 +00:00
Graham Nelson
32fb629212
Introduced symbol annotation types
2022-02-04 23:05:51 +00:00
Graham Nelson
0d5917a16c
Removed concept of symbol scope
2022-02-04 10:04:41 +00:00
Graham Nelson
59a873d14b
Removed external scope for symbols
2022-02-04 00:55:12 +00:00
Graham Nelson
8670fd4a79
Last commit with freestanding inter symbols?
2022-02-03 19:44:57 +00:00
Graham Nelson
1c3d9c537d
Clarified symbols tables
2022-02-03 15:51:44 +00:00
Graham Nelson
59eef53782
Progress on packages and node lists
2022-02-02 23:35:38 +00:00
Graham Nelson
f72e8a6ecc
Started in on packages
2022-01-30 23:49:12 +00:00
Graham Nelson
bde5e01880
Tidied up warehouse
2022-01-30 13:32:38 +00:00
Graham Nelson
ba1fba190f
Further work on nodes
2022-01-29 00:21:23 +00:00
Graham Nelson
7b8ac3bc48
Further on inter nodes
2022-01-27 23:38:14 +00:00
Graham Nelson
8eb2214881
Simplified node placement algorithm
2022-01-26 23:59:02 +00:00
Graham Nelson
37c5308ddf
Tidying up
2022-01-25 22:51:12 +00:00
Graham Nelson
5f0f5c2326
Started in on bytecode module
2022-01-25 00:20:07 +00:00
Graham Nelson
cb880556b5
Completed improvements to building module
2022-01-23 10:34:04 +00:00
Graham Nelson
1528c7f39c
Added error-reporting on inter schema parsing
2022-01-23 00:32:26 +00:00
Graham Nelson
916864b41c
Documented and reorganised Produce API
2022-01-22 16:44:52 +00:00
Graham Nelson
beb1e6c952
Completed the inter schema emitter
2022-01-21 21:46:41 +00:00
Graham Nelson
e836c60c52
Documenting how schema emission works
2022-01-20 23:55:12 +00:00
Graham Nelson
cf2976123a
Improved metadata on I6 operators and Inter primitives
2022-01-19 23:56:42 +00:00
Graham Nelson
ae76b18280
Finished documenting ramification
2022-01-19 13:49:54 +00:00
Graham Nelson
7fdaa1612a
Explicating the ramification algorithm
2022-01-18 23:21:24 +00:00
Graham Nelson
692393eae3
Further work on inter schemas
2022-01-17 23:52:15 +00:00
Graham Nelson
47955eefee
Began on the inter schema compiler
2022-01-16 23:17:41 +00:00
Graham Nelson
e4042788ea
Completed work on architecture chapter
2022-01-16 12:04:10 +00:00
Graham Nelson
e57531aafd
Improvements to hierarchy API
2022-01-15 23:49:25 +00:00
Graham Nelson
bb992fcfe7
Further tidying-up of architecture
2022-01-14 23:44:06 +00:00
Graham Nelson
e27a85d98a
Tidied up how primitives are declared
2022-01-14 10:56:42 +00:00
Graham Nelson
510bd86f87
Completed rewrite of large-scale structure formation
2022-01-13 23:49:42 +00:00
Graham Nelson
c902597e56
Simplified building sites
2022-01-12 23:54:53 +00:00
Graham Nelson
3ffaf8c77a
Consolidated architectural constants
2022-01-11 23:27:00 +00:00
Graham Nelson
0a410be737
Rationalised architectural constants somewhat
2022-01-11 12:31:22 +00:00
Graham Nelson
ec3c4028c7
Improved assembly-language punctuation
2022-01-10 23:51:42 +00:00
Graham Nelson
252ca978d0
Started in on building module
2022-01-09 23:00:15 +00:00
Graham Nelson
80a1ae9a17
Documented the stages
2022-01-08 10:00:07 +00:00
Graham Nelson
5d03965fc9
Completed coding of pipeline module for now
2022-01-06 23:10:15 +00:00
Graham Nelson
952be281fb
Moved literal text to a submodule of synoptic
2022-01-05 10:53:09 +00:00
Graham Nelson
80963c1e34
Began work on synoptic module
2022-01-04 23:10:34 +00:00
Graham Nelson
4ff69d1edd
Refactored wiring of symbols
2022-01-03 23:40:23 +00:00
Graham Nelson
6570632bc2
Improved linking pipeline stages
2022-01-02 21:29:43 +00:00
Graham Nelson
6cc170ad24
Finished on the splat compiler
2021-12-09 23:24:01 +00:00
Graham Nelson
55a4ae3815
Simplified constant computations
2021-12-07 22:39:55 +00:00
Graham Nelson
c702920f91
Continuing work on splat compilation
2021-12-05 23:11:59 +00:00
Graham Nelson
2c78e9f126
Fractional progress
2021-12-04 23:31:28 +00:00
Graham Nelson
23ec357e9c
Simplified property assimilation
2021-12-02 23:52:34 +00:00
Graham Nelson
2107121b9f
Attempts to simplify compile-splats
2021-12-01 23:17:04 +00:00
Graham Nelson
4ccae2d2c0
Began reshuffle of assimilation stages
2021-11-30 00:18:02 +00:00
Graham Nelson
fb19de2ad9
Tidying up
2021-11-29 10:23:17 +00:00
Graham Nelson
ad5b1c72bf
Removed parse-linked-matter stage from assimilation pipeline
2021-11-29 10:04:56 +00:00
Graham Nelson
6595b35b32
Moved simple tangler out of Inter
2021-11-28 23:34:30 +00:00
Graham Nelson
30544466f0
Began to divide simple tangling from other kit-reading
2021-11-26 23:49:56 +00:00
Graham Nelson
c772f426e1
Rewrite of parsing stages
2021-11-25 21:53:47 +00:00
Graham Nelson
39f1780e96
Continuing simplification of kit source reading
2021-11-24 22:28:46 +00:00
Graham Nelson
d77eeef1a9
Simplifying interventions
2021-11-23 23:17:22 +00:00
Graham Nelson
ff06397486
Rearranged names of some linking tasks
2021-11-22 23:40:18 +00:00
Graham Nelson
9729d14244
Made pipelines able to run each other
2021-11-22 00:22:16 +00:00
Graham Nelson
9f99b5b99b
Tidied new stage
2021-11-19 09:30:04 +00:00
Graham Nelson
92e0622ed6
Made set of six generic kinds common between Inter and Inform
2021-11-18 23:49:34 +00:00
Graham Nelson
6d89b25620
Restructured early linking pipeline stages
2021-11-17 22:44:49 +00:00
Graham Nelson
638f7afdab
Handling pipeline syntax errors better
2021-11-16 18:15:49 +00:00
Graham Nelson
77b894001d
Improved pipeline error messages
2021-11-15 22:44:29 +00:00
Graham Nelson
70ca4155bf
Clarified pipeline-running code
2021-11-14 23:40:33 +00:00
Graham Nelson
5469be5e85
Improved pipelines
2021-11-13 13:29:56 +00:00
Graham Nelson
b7d6796eda
Afterthought fix
2021-11-12 09:51:46 +00:00
Graham Nelson
8b40b2a135
Completed final
2021-11-11 23:32:10 +00:00
Graham Nelson
59a4c4824d
Further work on miniglk
2021-11-09 09:52:17 +00:00
Graham Nelson
d7db94a1e4
Added stylist and glk_implementation to C
2021-11-08 23:27:21 +00:00
Graham Nelson
0bd08a362a
Finished tidying the C object model
2021-11-08 10:16:46 +00:00
Graham Nelson
3b4747329a
Tidied up C objects model
2021-11-08 00:03:20 +00:00
Graham Nelson
6de6e9a788
Started in on tidying C objects
2021-11-06 23:30:31 +00:00
Graham Nelson
68e04895a8
Improved clarity of function calling
2021-11-06 14:35:25 +00:00
Graham Nelson
e5d4211714
Moved built-in functions to be opcodes, not veneer symbols
2021-11-05 23:12:14 +00:00
Graham Nelson
b812f47041
Started tidying functions
2021-11-04 23:48:41 +00:00
Graham Nelson
8dcd03e0de
Started tidying functions
2021-11-02 23:34:24 +00:00
Graham Nelson
26a1823944
Completed Vanilla IF
2021-11-01 23:28:37 +00:00
Graham Nelson
5d7fa48d97
Completed C literals
2021-11-01 20:02:30 +00:00
Graham Nelson
58d1996036
Moved dictionary word literals to Vanilla
2021-11-01 00:07:47 +00:00
Graham Nelson
3201cd9d77
Tidied up conditions and program control
2021-10-31 17:28:32 +00:00
Graham Nelson
b246e007fc
Tidied up C arithmetic
2021-10-31 10:38:25 +00:00
Graham Nelson
984909302b
Improved @gestalt in C
2021-10-31 00:24:50 +01:00
Graham Nelson
429c76430f
Further C assembly improvements
2021-10-30 13:04:16 +01:00
Graham Nelson
2f7624de54
Started on assembly
2021-10-29 23:57:15 +01:00
Graham Nelson
ad76073090
Completed C memory model
2021-10-28 23:38:32 +01:00
Graham Nelson
a69fe713a9
Improvements to memory model
2021-10-25 23:59:20 +01:00
Graham Nelson
76d2e5d70c
Simplified C global variables
2021-10-25 21:44:15 +01:00
Graham Nelson
05478d28e4
Further C work
2021-10-25 10:22:54 +01:00
Graham Nelson
838d43bec4
Tidied C further
2021-10-25 00:03:03 +01:00
Graham Nelson
bfa356137f
Began tidying up C generator
2021-10-23 23:54:35 +01:00
Graham Nelson
5452ca63e8
Completed Inform 6 generator
2021-10-20 12:13:44 +01:00
Graham Nelson
f779c3b0d9
Simplified Inter further
2021-10-20 01:11:13 +01:00
Graham Nelson
2cd7b9b221
Improved performance of propertyvalue slightly
2021-10-18 14:53:36 +01:00
Graham Nelson
b0069b92ce
Finally made door_to property not a special case
2021-10-18 05:31:07 +01:00
Graham Nelson
3ac8b11b97
Ternary PROPERTYVALUE.BIP
2021-10-17 22:55:41 +01:00
Graham Nelson
9f10d65ad6
Consolidated to single version of propertyexists
2021-10-16 23:48:19 +01:00
Graham Nelson
176001ec88
Improved ternary PROPERTYEXISTS_BIP
2021-10-15 23:49:12 +01:00
Graham Nelson
00b95fb35c
Further refactoring of Inter to remove give, take, has, hasnt
2021-10-14 23:53:44 +01:00
Graham Nelson
0492727e4f
Finished simplifying generator model for objects
2021-10-13 23:11:42 +01:00
Graham Nelson
fa4facff7f
Further small simplifications
2021-10-12 23:32:02 +01:00
Graham Nelson
e5bf943c79
Further tidying
2021-10-12 00:30:58 +01:00
Graham Nelson
044cecf0f4
Explicated and simplified I6 generator
2021-10-11 01:11:20 +01:00
Graham Nelson
e504c06fc9
Considerably tidied up vanilla
2021-10-10 14:53:42 +01:00
Graham Nelson
e0d9270e17
Finished work on vanilla objects
2021-10-09 16:47:41 +01:00
Graham Nelson
4635c73903
Converging on final vanilla objects
2021-10-09 00:28:40 +01:00
Graham Nelson
2b7f86b1fb
Finally simplified vanilla object algorithm
2021-10-08 10:36:36 +01:00
Graham Nelson
4dac0dfee3
Moved KindHierarchy to synoptic
2021-10-07 23:40:40 +01:00
Graham Nelson
42bb9a5486
Pushed kind tables down into final generators
2021-10-05 23:54:01 +01:00
Graham Nelson
ff4cd9a1e2
Implemented pseudo-opcodes
2021-10-05 09:59:33 +01:00
Graham Nelson
8c553d6565
Tentative movement of property storage policy into assembly
2021-10-04 23:35:07 +01:00
Graham Nelson
38c332d7ba
Briefer sorting
2021-10-04 00:39:30 +01:00
Graham Nelson
e6ac84f444
Simplified GProperty functions
2021-10-04 00:37:38 +01:00
Graham Nelson
6c75736f1b
Removed value_range pseudoproperty
2021-10-03 17:24:39 +01:00
Graham Nelson
ff59659c75
Pushed attribute distinction down into I6 code generator only
2021-10-03 10:50:18 +01:00
Graham Nelson
d968cd7fec
Finally pushing attribute/property distinction down the stack
2021-10-02 23:52:18 +01:00
Graham Nelson
7c5e367822
Painfully slow progress
2021-10-01 11:21:09 +01:00
Graham Nelson
cfe334e394
Inching towards a new runtime representation for properties
2021-09-30 23:52:36 +01:00
Graham Nelson
156a1c58fd
Still sidling around the issue
2021-09-30 00:12:46 +01:00