/* Copyright 2010-2018 Jesse McGrew * * This file is part of ZILF. * * ZILF is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * ZILF is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with ZILF. If not, see . */ using System.Diagnostics.CodeAnalysis; namespace Zilf.Diagnostics { [MessageSet("MDL")] [SuppressMessage("ReSharper", "InconsistentNaming")] public abstract class InterpreterMessages { InterpreterMessages() { } /// /// Used as the first argument for a prefixed message when it needs to be emitted in a context where /// no suitable function prefix is available, e.g. during compilation. /// public const string NoFunction = ""; // Legacy [Error("{0}")] public const int LegacyError = 0; [Error("{0}: {1}")] public const int UserSpecifiedError_0_1 = 1; // Syntax - 0100 [Error("syntax error: {0}")] public const int Syntax_Error_0 = 100; [Info("did you mean to separate them with OBJECT?")] public const int Did_You_Mean_To_Separate_Them_With_OBJECT = 101; [Error("element {0} of {1} in {2} must be {3}")] public const int Element_0_Of_1_In_2_Must_Be_3 = 102; [Error("element {0} of {1} must be {2}")] public const int Element_0_Of_1_Must_Be_2 = 103; [Error("{0}: expected {1} after {2}")] public const int _0_Expected_1_After_2 = 104; [Error("FIX/FALSE in PROPDEF output pattern must be at the beginning")] public const int FIXFALSE_In_PROPDEF_Output_Pattern_Must_Be_At_The_Beginning = 105; [Error("lists and atoms in TELL token specs must come at the beginning")] public const int Lists_And_Atoms_In_TELL_Token_Specs_Must_Come_At_The_Beginning = 106; /* [Error("malformed GVAL in TELL token spec")] public const int Malformed_GVAL_In_TELL_Token_Spec = 107; */ [Error("missing {0} in {1}")] public const int Missing_0_In_1 = 108; [Info("recognized versions are ZIP, EZIP, XZIP, YZIP, and numbers 3-8")] public const int Recognized_Versions_Are_ZIP_EZIP_XZIP_YZIP_And_Numbers_38 = 109; [Info("since NEW-SFLAGS is set, the following options are recognized: {0}")] public const int Since_NEWSFLAGS_Is_Set_The_Following_Options_Are_Recognized_0 = 110; [Error("TELL token spec ends with an unterminated pattern")] public const int TELL_Token_Spec_Ends_With_An_Unterminated_Pattern = 111; [Error("too many {0} in syntax definition")] public const int Too_Many_0_In_Syntax_Definition = 112; [Error("unrecognized {0}: {1}")] public const int Unrecognized_0_1 = 113; [Error("{0} in {1} must be {2}")] public const int _0_In_1_Must_Be_2 = 114; [Error("{0} in {1} must have {2} element{2:s}")] public const int _0_In_1_Must_Have_2_Element2s = 115; [Error("{0} must be {1}")] public const int _0_Must_Be_1 = 116; [Error("{0} must have {1} element{1:s}")] public const int _0_Must_Have_1_Element1s = 117; [Error("{0}: \"OPT\" after \"AUX\"")] public const int _0_OPT_After_AUX = 118; [Error("{0}: empty list in arg spec")] public const int _0_Empty_List_In_Arg_Spec = 119; [Error("{0}: multiple {1} clauses")] public const int _0_Multiple_1_Clauses = 120; [Error("{0}: not enough elements in 'CONSTRUCTOR spec")] public const int _0_Not_Enough_Elements_In_CONSTRUCTOR_Spec = 121; [Error("{0}: unrecognized {1}: {2}")] public const int _0_Unrecognized_1_2 = 122; [Error("{0}: lists in defaults section must start with a quoted atom")] public const int _0_Lists_In_Defaults_Section_Must_Start_With_A_Quoted_Atom = 123; [Error("{0}: parts of defaults section must be quoted atoms or lists")] public const int _0_Parts_Of_Defaults_Section_Must_Be_Quoted_Atoms_Or_Lists = 124; [Error("{0}: second element after 'CONSTRUCTOR must be an argument list")] public const int _0_Second_Element_After_CONSTRUCTOR_Must_Be_An_Argument_List = 125; [Error("{0}: unrecognized argument name in body DECL: {1}")] public const int _0_Unrecognized_Argument_Name_In_Body_DECL_1 = 126; [Error("{0}: expected atom in arg spec but found '{1}'")] public const int _0_Expected_Atom_In_Arg_Spec_But_Found_1 = 127; [Error("{0}: expected {1}")] public const int _0_Expected_1 = 128; [Error("{0}: too many {1}s, starting at {1} {2}")] public const int _0_Too_Many_1s_Starting_At_1_2 = 129; [Error("{0}: unexpected FORM in arg spec: {1}")] public const int _0_Unexpected_FORM_In_Arg_Spec_1 = 130; // Type/Format/DECL - 0200 [Error("calling unassigned atom: {0}")] public const int Calling_Unassigned_Atom_0 = 200; [Error("CHTYPE away from {0} not supported")] public const int CHTYPE_Away_From_0_Not_Supported = 201; [Error("CHTYPE to {0} did not produce an applicable object")] public const int CHTYPE_To_0_Did_Not_Produce_An_Applicable_Object = 202; [Error("CHTYPE to {0} not supported")] public const int CHTYPE_To_0_Not_Supported = 203; [Error("CHTYPE to {0} requires {1}")] public const int CHTYPE_To_0_Requires_1 = 204; [Error("environment has expired")] public const int Environment_Has_Expired = 205; [Error("expected {0} to match DECL {1}, but got {2}")] public const int Expected_0_To_Match_DECL_1_But_Got_2 = 206; [Error("{0} value of '{1}' must be {2}")] public const int _0_Value_Of_1_Must_Be_2 = 207; [Error("malformed DECL object")] public const int Malformed_DECL_Object = 208; [Error("no OBLIST path")] public const int No_OBLIST_Path = 209; [Error("not an applicable type: {0}")] public const int Not_An_Applicable_Type_0 = 210; [Error("OFFSET is immutable")] public const int OFFSET_Is_Immutable = 211; [Error("'{0}' must have a GVAL to use NEW-SFLAGS")] public const int _0_Must_Have_A_GVAL_To_Use_NEWSFLAGS = 212; [Error("{0}: 'NONE is not allowed after a default field value")] public const int _0_NONE_Is_Not_Allowed_After_A_Default_Field_Value = 213; [Error("{0}: already defined: {1}")] public const int _0_Already_Defined_1 = 214; [Error("{0}: atom '{1}' has no {2} value")] public const int _0_Atom_1_Has_No_2_Value = 215; [Error("{0}: atom '{1}' is already on an OBLIST")] public const int _0_Atom_1_Is_Already_On_An_OBLIST = 216; [Error("{0}: conflicting DECLs for atom: {1}")] public const int _0_Conflicting_DECLs_For_Atom_1 = 217; [Error("{0}: iterated values must be CHARACTERs")] public const int _0_Iterated_Values_Must_Be_CHARACTERs = 218; [Error("{0}: not applicable: {1}")] public const int _0_Not_Applicable_1 = 219; [Error("{0}: not supported by type")] public const int _0_Not_Supported_By_Type = 220; [Error("{0}: OBLIST already contains an atom named '{1}'")] public const int _0_OBLIST_Already_Contains_An_Atom_Named_1 = 221; [Error("{0}: primtypes of '{1}' and '{2}' differ")] public const int _0_Primtypes_Of_1_And_2_Differ = 222; [Error("{0}: {1} must return {2}")] public const int _0_1_Must_Return_2 = 223; [Info("check types of earlier {0}s, e.g. {0} {1}")] public const int Check_Types_Of_Earlier_0s_Eg_0_1 = 224; [Error("{0} requires {1} additional {2}{1:s}")] public const int _0_Requires_1_Additional_21s = 225; [Error("{0} requires {1} {2}{1:s}")] public const int _0_Requires_1_21s = 226; // Structured Values - 0300 [Error("a SEGMENT can only be evaluated inside a structure")] public const int A_SEGMENT_Can_Only_Be_Evaluated_Inside_A_Structure = 300; [Error("{0}: all vectors must have the same number of records")] public const int _0_All_Vectors_Must_Have_The_Same_Number_Of_Records = 301; [Error("{0}: destination too short")] public const int _0_Destination_Too_Short = 302; [Error("{0}: destination type not supported: {1}")] public const int _0_Destination_Type_Not_Supported_1 = 303; [Error("{0}: expected 0 <= key offset < record size")] public const int _0_Expected_0__Key_Offset__Record_Size = 304; [Error("{0}: destination must have same primtype as source")] public const int _0_Destination_Must_Have_Same_Primtype_As_Source = 305; [Error("{0}: key primtypes must be ATOM, FIX, or STRING to use default comparison")] public const int _0_Key_Primtypes_Must_Be_ATOM_FIX_Or_STRING_To_Use_Default_Comparison = 306; [Error("{0}: keys must have the same type to use default comparison")] public const int _0_Keys_Must_Have_The_Same_Type_To_Use_Default_Comparison = 307; [Error("{0}: negative element count")] public const int _0_Negative_Element_Count = 308; [Error("{0}: not enough elements")] public const int _0_Not_Enough_Elements = 309; [Error("{0}: primtype TABLE not supported")] public const int _0_Primtype_TABLE_Not_Supported = 310; [Error("{0}: reading past end of structure")] public const int _0_Reading_Past_End_Of_Structure = 311; [Error("{0}: sizes must be non-negative")] public const int _0_Sizes_Must_Be_Nonnegative = 312; [Error("{0}: vector length must be a multiple of record size")] public const int _0_Vector_Length_Must_Be_A_Multiple_Of_Record_Size = 313; [Error("{0}: writing past end of structure")] public const int _0_Writing_Past_End_Of_Structure = 314; [Error("{0}: {1} element{1:s} requested but only {2} available")] public const int _0_1_Element1s_Requested_But_Only_2_Available = 315; [Error("templates cannot be used here")] public const int Templates_Cannot_Be_Used_Here = 316; [Error("{0}: unaligned table read: element at {1} offset {2} is not a {1}")] public const int _0_Unaligned_Table_Read_Element_At_1_Offset_2_Is_Not_A_1 = 317; [Error("{0}: element {1} is read-only")] public const int _0_Element_1_Is_Read_Only = 318; // Z-machine Structures - 0400 [Error("'{0}' FORM in PROPDEF output pattern must have length {1}")] public const int _0_FORM_In_PROPDEF_Output_Pattern_Must_Have_Length_1 = 400; [Error("expected {0} LVAL{0:s} in TELL output template but found {1}")] public const int Expected_0_LVAL0s_In_TELL_Output_Template_But_Found_1 = 401; [Error("FORM in PROPDEF output pattern must be BYTE, WORD, STRING, OBJECT, ROOM, GLOBAL, NOUN, ADJ, or VOC")] public const int FORM_In_PROPDEF_Output_Pattern_Must_Be_BYTE_WORD_STRING_OBJECT_ROOM_GLOBAL_NOUN_ADJ_Or_VOC = 402; [Warning("ignoring list of flags in syntax definition with no preceding OBJECT")] public const int Ignoring_List_Of_Flags_In_Syntax_Definition_With_No_Preceding_OBJECT = 403; [Error("incompatible classifications merging words '{0}' ({1}) <- '{2}' ({3})")] public const int Incompatible_Classifications_Merging_Words_0_1__2_3 = 404; [Error("overloaded semantics merging words '{0}' <- '{1}'")] public const int Overloaded_Semantics_Merging_Words_0__1 = 405; [Warning("overriding default value for property '{0}'")] public const int Overriding_Default_Value_For_Property_0 = 406; [Error("PROPDEF constant '{0}' defined at conflicting positions")] public const int PROPDEF_Constant_0_Defined_At_Conflicting_Positions = 407; [Error("property '{0}' initializer doesn't match any supported patterns")] public const int Property_0_Initializer_Doesnt_Match_Any_Supported_Patterns = 408; [Error("variable in PROPDEF output pattern is not captured by input pattern: {0}")] public const int Variable_In_PROPDEF_Output_Pattern_Is_Not_Captured_By_Input_Pattern_0 = 409; [Error("word '{0}' is not a {1}")] public const int Word_0_Is_Not_A_1 = 410; [Error("{0}: alphabet number must be between 0 and 2")] public const int _0_Alphabet_Number_Must_Be_Between_0_And_2 = 411; [Error("{0}: alphabet {1} needs {2} character{2:s}")] public const int _0_Alphabet_1_Needs_2_Character2s = 412; [Error("{0}: flags must be atoms")] public const int _0_Flags_Must_Be_Atoms = 413; [Error("{0}: following elements of vector in PATTERN must be BYTE or WORD")] public const int _0_Following_Elements_Of_Vector_In_PATTERN_Must_Be_BYTE_Or_WORD = 414; [Error("{0}: invalid table size")] public const int _0_Invalid_Table_Size = 415; [Error("{0}: new classification {1} is incompatible with previous {2}")] public const int _0_New_Classification_1_Is_Incompatible_With_Previous_2 = 416; [Warning("{0}: only {1} routine argument{1:s} allowed in V{2}, so last {3} \"OPT\" argument{3:s} will never be passed", Noisy = true)] public const int _0_Only_1_Routine_Argument1s_Allowed_In_V2_So_Last_3_OPT_Argument3s_Will_Never_Be_Passed = 417; [Error("{0}: PATTERN may only contain BYTE, WORD, or a REST vector")] public const int _0_PATTERN_May_Only_Contain_BYTE_WORD_Or_A_REST_Vector = 418; [Error("{0}: PATTERN must not be empty")] public const int _0_PATTERN_Must_Not_Be_Empty = 419; [Error("{0}: requires NEW-PARSER? option")] public const int _0_Requires_NEWPARSER_Option = 420; [Error("{0}: specifier must be NONE, BYTE, or WORD")] public const int _0_Specifier_Must_Be_NONE_BYTE_Or_WORD = 421; [Error("{0}: TIME is only meaningful in version 3")] public const int _0_TIME_Is_Only_Meaningful_In_Version_3 = 422; [Error("{0}: too many routine arguments: only {1} allowed in V{2}")] public const int _0_Too_Many_Routine_Arguments_Only_1_Allowed_In_V2 = 423; [Error("{0}: vector may only appear at the end of a PATTERN")] public const int _0_Vector_May_Only_Appear_At_The_End_Of_A_PATTERN = 424; [Error("{0}: word would be overloaded")] public const int _0_Word_Would_Be_Overloaded = 425; [Error("too many {0}: only {1} allowed in this vocab format")] public const int Too_Many_0_Only_1_Allowed_In_This_Vocab_Format = 426; [Error("{0}: routines may not define \"BIND\", \"TUPLE\", or \"ARGS\" arguments")] public const int _0_Routines_May_Not_Define_BIND_TUPLE_Or_ARGS_Arguments = 427; // Modularity (package system, definitions sections) - 0500 [Error("{0}: all atoms must be on internal oblist {1}, failed for {2}")] public const int _0_All_Atoms_Must_Be_On_Internal_Oblist_1_Failed_For_2 = 500; [Error("{0}: bad state: {1}")] public const int _0_Bad_State_1 = 501; [Warning("{0}: duplicate default for section: {1}")] public const int _0_Duplicate_Default_For_Section_1 = 502; [Error("{0}: duplicate replacement for section: {1}")] public const int _0_Duplicate_Replacement_For_Section_1 = 503; [Error("{0}: must be called from within a PACKAGE or DEFINITIONS")] public const int _0_Must_Be_Called_From_Within_A_PACKAGE_Or_DEFINITIONS = 504; [Error("{0}: must be called from within a PACKAGE")] public const int _0_Must_Be_Called_From_Within_A_PACKAGE = 505; [Error("{0}: section has already been inserted: {1}")] public const int _0_Section_Has_Already_Been_Inserted_1 = 506; [Error("{0}: section has already been referenced: {1}")] public const int _0_Section_Has_Already_Been_Referenced_1 = 507; [Error("{0}: wrong package type, expected {1}")] public const int _0_Wrong_Package_Type_Expected_1 = 508; // Misc - 0600 [Error("division by zero")] public const int Division_By_Zero = 600; [Error("misplaced {0}")] public const int Misplaced_0 = 601; [Error("{0}: bad OUTCHAN")] public const int _0_Bad_OUTCHAN = 602; [Error("{0}: error loading file: {1}")] public const int _0_Error_Loading_File_1 = 603; [Error("{0}: file not found: {1}")] public const int _0_File_Not_Found_1 = 604; [Error("{0}: no enclosing PROG/REPEAT")] public const int _0_No_Enclosing_PROGREPEAT = 605; [Error("{0}: no expressions found")] public const int _0_No_Expressions_Found = 606; [Error("{0}: not supported by this type of channel")] public const int _0_Not_Supported_By_This_Type_Of_Channel = 607; } }