/* ------------------------------------------------------------------------- */
/* "symbols" : The symbols table; creating stock of reserved words */
/* */
-/* Part of Inform 6.40 */
+/* Part of Inform 6.41 */
/* copyright (c) Graham Nelson 1993 - 2022 */
/* */
/* Inform is free software: you can redistribute it and/or modify */
extern void issue_unused_warnings(void)
{ int32 i;
- if (module_switch) return;
-
/* Update any ad-hoc variables that might help the library */
if (glulx_mode)
{ global_initial_value[10]=statusline_flag;
}
/* ------------------------------------------------------------------------- */
-/* These are arrays used only during story file (never module) creation, */
-/* and not allocated until then. */
+/* These are arrays used only during story file creation, and not */
+/* allocated until then. */
int32 *individual_name_strings; /* Packed addresses of Z-encoded
strings of the names of the
for (i=0; i<no_individual_properties; i++)
individual_name_strings[i] = 0;
- if (module_switch) return;
-
veneer_mode = TRUE;
null_value = compile_string(unknown_attribute, STRCTX_SYMBOL);
create_rsymbol("Grammar__Version", 2, CONSTANT_T);
grammar_version_symbol = symbol_index("Grammar__Version", -1);
- if (module_switch)
- create_rsymbol("MODULE_MODE",0, CONSTANT_T);
-
if (runtime_error_checking_switch)
create_rsymbol("STRICT_MODE",0, CONSTANT_T);
if (define_DEBUG_switch)
create_rsymbol("DEBUG", 0, CONSTANT_T);
- if (define_USE_MODULES_switch)
- create_rsymbol("USE_MODULES",0, CONSTANT_T);
-
if (define_INFIX_switch)
{ create_rsymbol("INFIX", 0, CONSTANT_T);
create_symbol("infix__watching", 0, ATTRIBUTE_T);
create_symbol("FLOAT_INFINITY", 0x7F800000, CONSTANT_T);
create_symbol("FLOAT_NINFINITY", 0xFF800000, CONSTANT_T);
create_symbol("FLOAT_NAN", 0x7FC00000, CONSTANT_T);
+ /* Same for double constants. Each of these has a high 32-bit
+ word and a low 32-bit word. */
+ create_symbol("DOUBLE_HI_INFINITY", 0x7FF00000, CONSTANT_T);
+ create_symbol("DOUBLE_LO_INFINITY", 0x00000000, CONSTANT_T);
+ create_symbol("DOUBLE_HI_NINFINITY", 0xFFF00000, CONSTANT_T);
+ create_symbol("DOUBLE_LO_NINFINITY", 0x00000000, CONSTANT_T);
+ create_symbol("DOUBLE_HI_NAN", 0x7FF80000, CONSTANT_T);
+ create_symbol("DOUBLE_LO_NAN", 0x00000001, CONSTANT_T);
}
if (symbol_definitions && symbol_definitions_count) {