summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
102561b)
22 files changed:
/* likewise global variables, which are in some ways a */
/* simpler form of the same thing. */
/* */
/* likewise global variables, which are in some ways a */
/* simpler form of the same thing. */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "asm" : The Inform assembler */
/* */
/* ------------------------------------------------------------------------- */
/* "asm" : The Inform assembler */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* "bpatch" : Keeps track of, and finally acts on, backpatch markers, */
/* correcting symbol values not known at compilation time */
/* */
/* "bpatch" : Keeps track of, and finally acts on, backpatch markers, */
/* correcting symbol values not known at compilation time */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "chars" : Character set mappings and the Z-machine alphabet table */
/* */
/* ------------------------------------------------------------------------- */
/* "chars" : Character set mappings and the Z-machine alphabet table */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "directs" : Directives (# commands) */
/* */
/* ------------------------------------------------------------------------- */
/* "directs" : Directives (# commands) */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* "errors" : Warnings, errors and fatal errors */
/* (with error throwback code for RISC OS machines) */
/* */
/* "errors" : Warnings, errors and fatal errors */
/* (with error throwback code for RISC OS machines) */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "expressc" : The expression code generator */
/* */
/* ------------------------------------------------------------------------- */
/* "expressc" : The expression code generator */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "expressp" : The expression parser */
/* */
/* ------------------------------------------------------------------------- */
/* "expressp" : The expression parser */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* routines in "inform.c", since they are tied up with ICL */
/* settings and are very host OS-dependent. */
/* */
/* routines in "inform.c", since they are tied up with ICL */
/* settings and are very host OS-dependent. */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* Header file for Inform: Z-machine ("Infocom" format) compiler */
/* */
/* ------------------------------------------------------------------------- */
/* Header file for Inform: Z-machine ("Infocom" format) compiler */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2017 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* */
/* ------------------------------------------------------------------------- */
/* */
/* ------------------------------------------------------------------------- */
-#define RELEASE_DATE "16 Aug 2017"
+#define RELEASE_DATE "28th June 2018"
#define RELEASE_NUMBER 1634
#define GLULX_RELEASE_NUMBER 38
#define MODULE_VERSION_NUMBER 1
#define RELEASE_NUMBER 1634
#define GLULX_RELEASE_NUMBER 38
#define MODULE_VERSION_NUMBER 1
/* "inform" : The top level of Inform: switches, pathnames, filenaming */
/* conventions, ICL (Inform Command Line) files, main */
/* */
/* "inform" : The top level of Inform: switches, pathnames, filenaming */
/* conventions, ICL (Inform Command Line) files, main */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* Z-machine */
WORDSIZE = 2;
MAXINTWORD = 0x7FFF;
/* Z-machine */
WORDSIZE = 2;
MAXINTWORD = 0x7FFF;
+ if (INDIV_PROP_START != 64) {
+ INDIV_PROP_START = 64;
+ fatalerror("You cannot change INDIV_PROP_START in Z-code");
+ }
if (DICT_WORD_SIZE != 6) {
DICT_WORD_SIZE = 6;
fatalerror("You cannot change DICT_WORD_SIZE in Z-code");
if (DICT_WORD_SIZE != 6) {
DICT_WORD_SIZE = 6;
fatalerror("You cannot change DICT_WORD_SIZE in Z-code");
/* Glulx */
WORDSIZE = 4;
MAXINTWORD = 0x7FFFFFFF;
/* Glulx */
WORDSIZE = 4;
MAXINTWORD = 0x7FFFFFFF;
- INDIV_PROP_START = 256; /* This could be a memory setting */
scale_factor = 0; /* It should never even get used in Glulx */
scale_factor = 0; /* It should never even get used in Glulx */
+ if (INDIV_PROP_START < 256) {
+ INDIV_PROP_START = 256;
+ warning_numbered("INDIV_PROP_START should be at least 256 in Glulx. Setting to", INDIV_PROP_START);
+ }
+
if (NUM_ATTR_BYTES % 4 != 3) {
NUM_ATTR_BYTES += (3 - (NUM_ATTR_BYTES % 4));
warning_numbered("NUM_ATTR_BYTES must be a multiple of four, plus three. Increasing to", NUM_ATTR_BYTES);
if (NUM_ATTR_BYTES % 4 != 3) {
NUM_ATTR_BYTES += (3 - (NUM_ATTR_BYTES % 4));
warning_numbered("NUM_ATTR_BYTES must be a multiple of four, plus three. Increasing to", NUM_ATTR_BYTES);
/* ------------------------------------------------------------------------- */
/* "lexer" : Lexical analyser */
/* */
/* ------------------------------------------------------------------------- */
/* "lexer" : Lexical analyser */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "linker" : For compiling and linking modules */
/* */
/* ------------------------------------------------------------------------- */
/* "linker" : For compiling and linking modules */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* "memory" : Memory management and ICL memory setting commands */
/* (For "memoryerror", see "errors.c") */
/* */
/* "memory" : Memory management and ICL memory setting commands */
/* (For "memoryerror", see "errors.c") */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
if (!glulx_mode)
printf("| %25s = %-7d |\n","ZCODE_HEADER_FLAGS_3",ZCODE_HEADER_FLAGS_3);
printf("| %25s = %-7d |\n","MAX_INCLUSION_DEPTH",MAX_INCLUSION_DEPTH);
if (!glulx_mode)
printf("| %25s = %-7d |\n","ZCODE_HEADER_FLAGS_3",ZCODE_HEADER_FLAGS_3);
printf("| %25s = %-7d |\n","MAX_INCLUSION_DEPTH",MAX_INCLUSION_DEPTH);
- printf("| %25s = %-7d |\n","MAX_INDIV_PROP_TABLE_SIZE",
- MAX_INDIV_PROP_TABLE_SIZE);
+ printf("| %25s = %-7d |\n","MAX_INDIV_PROP_TABLE_SIZE", MAX_INDIV_PROP_TABLE_SIZE);
+ printf("| %25s = %-7d |\n","INDIV_PROP_START", INDIV_PROP_START);
printf("| %25s = %-7d |\n","MAX_LABELS",MAX_LABELS);
printf("| %25s = %-7d |\n","MAX_LINESPACE",MAX_LINESPACE);
printf("| %25s = %-7d |\n","MAX_LINK_DATA_SIZE",MAX_LINK_DATA_SIZE);
printf("| %25s = %-7d |\n","MAX_LABELS",MAX_LABELS);
printf("| %25s = %-7d |\n","MAX_LINESPACE",MAX_LINESPACE);
printf("| %25s = %-7d |\n","MAX_LINK_DATA_SIZE",MAX_LINK_DATA_SIZE);
DICT_WORD_SIZE = DICT_WORD_SIZE_z;
NUM_ATTR_BYTES = NUM_ATTR_BYTES_z;
ALLOC_CHUNK_SIZE = ALLOC_CHUNK_SIZE_z;
DICT_WORD_SIZE = DICT_WORD_SIZE_z;
NUM_ATTR_BYTES = NUM_ATTR_BYTES_z;
ALLOC_CHUNK_SIZE = ALLOC_CHUNK_SIZE_z;
}
else {
MAX_ZCODE_SIZE = MAX_ZCODE_SIZE_g;
}
else {
MAX_ZCODE_SIZE = MAX_ZCODE_SIZE_g;
DICT_WORD_SIZE = DICT_WORD_SIZE_g;
NUM_ATTR_BYTES = NUM_ATTR_BYTES_g;
ALLOC_CHUNK_SIZE = ALLOC_CHUNK_SIZE_g;
DICT_WORD_SIZE = DICT_WORD_SIZE_g;
NUM_ATTR_BYTES = NUM_ATTR_BYTES_g;
ALLOC_CHUNK_SIZE = ALLOC_CHUNK_SIZE_g;
+ INDIV_PROP_START = 256;
table of ..variable values.\n");
return;
}
table of ..variable values.\n");
return;
}
+ if (strcmp(command,"INDIV_PROP_START")==0)
+ { printf(
+" Properties 1 to INDIV_PROP_START-1 are common properties; individual\n\
+ properties are numbered INDIV_PROP_START and up.\n");
+ return;
+ }
if (strcmp(command,"MAX_OBJ_PROP_COUNT")==0)
{ printf(
" MAX_OBJ_PROP_COUNT is the maximum number of properties a single object \n\
if (strcmp(command,"MAX_OBJ_PROP_COUNT")==0)
{ printf(
" MAX_OBJ_PROP_COUNT is the maximum number of properties a single object \n\
MAX_SOURCE_FILES=j, flag=1;
if (strcmp(command,"MAX_INDIV_PROP_TABLE_SIZE")==0)
MAX_INDIV_PROP_TABLE_SIZE=j, flag=1;
MAX_SOURCE_FILES=j, flag=1;
if (strcmp(command,"MAX_INDIV_PROP_TABLE_SIZE")==0)
MAX_INDIV_PROP_TABLE_SIZE=j, flag=1;
+ if (strcmp(command,"INDIV_PROP_START")==0)
+ INDIV_PROP_START=j, flag=1;
if (strcmp(command,"MAX_OBJ_PROP_TABLE_SIZE")==0)
MAX_OBJ_PROP_TABLE_SIZE=j, flag=1;
if (strcmp(command,"MAX_OBJ_PROP_COUNT")==0)
if (strcmp(command,"MAX_OBJ_PROP_TABLE_SIZE")==0)
MAX_OBJ_PROP_TABLE_SIZE=j, flag=1;
if (strcmp(command,"MAX_OBJ_PROP_COUNT")==0)
/* checks syntax and translates such directives into */
/* specifications for the object-maker. */
/* */
/* checks syntax and translates such directives into */
/* specifications for the object-maker. */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
- /* INDIV_PROP_START could be a memory setting */
if (no_properties==INDIV_PROP_START) {
discard_token_location(beginning_debug_location);
error_numbered("All properties already declared -- max is",
if (no_properties==INDIV_PROP_START) {
discard_token_location(beginning_debug_location);
error_numbered("All properties already declared -- max is",
/* ------------------------------------------------------------------------- */
/* "states" : Statement translator */
/* */
/* ------------------------------------------------------------------------- */
/* "states" : Statement translator */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "symbols" : The symbols table; creating stock of reserved words */
/* */
/* ------------------------------------------------------------------------- */
/* "symbols" : The symbols table; creating stock of reserved words */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "syntax" : Syntax analyser and compiler */
/* */
/* ------------------------------------------------------------------------- */
/* "syntax" : Syntax analyser and compiler */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* end of dynamic memory, gluing together all the required */
/* tables. */
/* */
/* end of dynamic memory, gluing together all the required */
/* tables. */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* ------------------------------------------------------------------------- */
/* "text" : Text translation, the abbreviations optimiser, the dictionary */
/* */
/* ------------------------------------------------------------------------- */
/* "text" : Text translation, the abbreviations optimiser, the dictionary */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* by the compiler (e.g. DefArt) which the program doesn't */
/* provide */
/* */
/* by the compiler (e.g. DefArt) which the program doesn't */
/* provide */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2016 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */
/* "verbs" : Manages actions and grammar tables; parses the directives */
/* Verb and Extend. */
/* */
/* "verbs" : Manages actions and grammar tables; parses the directives */
/* Verb and Extend. */
/* */
-/* Copyright (c) Graham Nelson 1993 - 2017 */
+/* Copyright (c) Graham Nelson 1993 - 2018 */
/* */
/* This file is part of Inform. */
/* */
/* */
/* This file is part of Inform. */
/* */