The Advanced Script Compiler now supplies a unique message code prefix for each diagnostic message. (The familiar message help text is also included, but the prefix is handy for searching through compiler output quickly for a specific error.)
Here is a current list of the messages supported in the current build. The list is subject to future expansion.
enum NscMessage
{
// Error messages
NscMessage_ErrorInternalCompilerError = 1001, // const char *
NscMessage_ErrorFunctionArgTypeMismatch = 1002, // const char *, const char *, int, NscType, NscType
NscMessage_ErrorOperatorTypeMismatch = 1003, // const char *
NscMessage_ErrorAssignLHSNotVariable = 1004, //
NscMessage_ErrorUnexpectedEOF = 1005, //
NscMessage_ErrorTooManyFunctionArgs = 1006, // const char *
NscMessage_ErrorRequiredFunctionArgMissing = 1007, // const char *, const char *
NscMessage_ErrorPreprocessorSyntax = 1008, // const char *
NscMessage_ErrorPreprocessorIdentTooLong = 1009, // const char *
NscMessage_ErrorUserError = 1010, // const char *
NscMessage_ErrorInvalidPreprocessorToken = 1011, //
NscMessage_ErrorMacroReplacementTooLong = 1012, // int
NscMessage_ErrorTokenTooLong = 1013, //
NscMessage_ErrorDefineUnknownOrInvalid = 1014, //
NscMessage_ErrorFunctionLikeMacroNotAllowed = 1015, //
NscMessage_ErrorFunctionLikeMacroNotImpl = 1016, //
NscMessage_ErrorFuncNameMacroNotInFunction = 1017, //
NscMessage_ErrorNscIntrinsicsIsInternalOnly = 1018, //
NscMessage_ErrorPragmaDefaultFuncNotInFunc = 1019, //
NscMessage_ErrorUndeclaredIdentifier = 1020, // const char *
NscMessage_ErrorIdentifierNotFunction = 1021, // const char *
NscMessage_ErrorPragmaDefaultFuncAlreadyDef = 1022, // const char *
NscMessage_ErrorEntryPointCannotBeDefault = 1023, // const char *
NscMessage_ErrorPreprocessorSyntaxConstExpr = 1024, // const char *
NscMessage_ErrorPoundElifWithoutPoundIf = 1025, //
NscMessage_ErrorDuplicatePoundElse = 1026, //
NscMessage_ErrorPoundElseWithoutPoundIf = 1027, //
NscMessage_ErrorUnexpectedPoundEndif = 1028, //
NscMessage_ErrorUnrecognizedIntrinsicIdent = 1029, // const char *
NscMessage_ErrorTooManyStructures = 1030, // int
NscMessage_ErrorStringLiteralTooLong = 1031, //
NscMessage_ErrorUnterminatedString = 1032, //
NscMessage_ErrorEntrySymbolMustBeFunction = 1033, // const char *
NscMessage_ErrorEntrySymbolMustReturnType = 1034, // const char *, NscType
NscMessage_ErrorEntrySymbolNotFound = 1035, //
NscMessage_ErrorScriptTooLarge = 1036, //
NscMessage_ErrorInvalidNumArgsForIntrinsic = 1037, // const char *
NscMessage_ErrorFunctionBodyMissing = 1038, // const char *
NscMessage_ErrorNotAllPathsReturnValue = 1039, //
NscMessage_ErrorTokenSyntaxError = 1040, // const char *
NscMessage_ErrorTooManyErrors = 1041, // int
NscMessage_ErrorInternalOnlyIdentifier = 1042, // const char *
NscMessage_ErrorStructureUndefined = 1043, // const char *
NscMessage_ErrorIdentifierNotStructure = 1044, // const char *
NscMessage_ErrorVariableRedefined = 1045, // const char *
NscMessage_ErrorIdentifierRedefined = 1046, // const char *
NscMessage_ErrorConstNotAllowedOnLocals = 1047, // const char *
NscMessage_ErrorDefaultInitNotPermitted = 1048, // NscType, const char *
NscMessage_ErrorConstInitializerMissing = 1049, // const char *
NscMessage_ErrorConstInitializerNotConstExp = 1050, // const char *
NscMessage_ErrorConstReferencedBeforeInit = 1051, // const char *
NscMessage_ErrorConstStructIllegal = 1052, // const char *
NscMessage_ErrorDeclInitTypeMismatch = 1053, // const char *
NscMessage_ErrorConstIllegalOnParameter = 1054, // const char *
NscMessage_ErrorParamDefaultInitNotConstExp = 1055, // const char *
NscMessage_ErrorParamDeclTypeMismatch = 1056, // const char *
NscMessage_ErrorConstReturnTypeIllegal = 1057, // const char *
NscMessage_ErrorNondefaultParamAfterDefault = 1058, // const char *, const char *
NscMessage_ErrorTooManyParameters = 1059, // const char *, int
NscMessage_ErrorFunctionSymbolTypeMismatch = 1060, // const char *
NscMessage_ErrorFunctionPrototypeMismatch = 1061, // const char *
NscMessage_ErrorFunctionBodyRedefined = 1062, // const char *
NscMessage_ErrorConstIllegalOnStructMember = 1063, //
NscMessage_ErrorStructureRedefined = 1064, // const char *
NscMessage_ErrorStructSymbolTypeMismatch = 1065, // const char *
NscMessage_ErrorDeclarationSkippedByToken = 1066, // const char *
NscMessage_ErrorMultipleDefaultLabels = 1067, //
NscMessage_ErrorInvalidUseOfFunction = 1068, // const char *
NscMessage_ErrorInvalidUseOfStructure = 1069, // const char *
NscMessage_ErrorElementNotMemberOfStructure = 1070, // const char *
NscMessage_ErrorInvalidAccessOfValAsStruct = 1071, //
NscMessage_ErrorCantInvokeIdentAsFunction = 1072, // const char *
NscMessage_ErrorConditionalRequiresInt = 1073, //
NscMessage_ErrorConditionalResultTypesBad = 1074, //
NscMessage_ErrorConditionalTokenRequiresInt = 1075, // const char *
NscMessage_ErrorCaseValueNotConstant = 1076, //
NscMessage_ErrorReturnValueExpected = 1077, //
NscMessage_ErrorReturnValueIllegalOnVoidFn = 1078, //
NscMessage_ErrorTypeMismatchOnReturn = 1079, //
NscMessage_ErrorReturnOutsideFunction = 1080, //
NscMessage_ErrorInvalidUseOfBreak = 1081, //
NscMessage_ErrorInvalidUseOfContinue = 1082, //
NscMessage_ErrorEOFReachedInPoundIfdef = 1083, //
NscMessage_ErrorTooLongIncludeFileName = 1084, //
NscMessage_ErrorUnableToOpenInclude = 1085, // const char *
NscMessage_ErrorPreprocessorOperandTooLong = 1086, // const char *
NscMessage_ErrorBadDefineIdentPrefix = 1087, // const char *
NscMessage_ErrorBadDefineIdentCharacters = 1088, // const char *
NscMessage__LastError,
// Warning messages
NscMessage_WarningMacroRedefinition = 6001, // const char *
NscMessage_WarningNestedStructAccess = 6002, //
NscMessage_WarningCantUndefineMacro = 6003, // const char *
NscMessage_WarningConstantValueDefaulted = 6003, // const char *
NscMessage_WarningEmptyControlStatement = 6004, //
NscMessage_WarningUserWarning = 6005, // const char
NscMessage_WarningEOFReachedInComment = 6006, //
NscMessage_WarningInvalidCharacter = 6007, // char
NscMessage_WarningStoreStateAtGlobalScope = 6008, //
NscMessage_WarningBPFuncCalledBeforeBPSet = 6009, // const char *
NscMessage_WarningEntrySymbolHasDefaultArgs = 6010, // const char *, const char *
NscMessage_WarningCompatParamLimitExceeded = 6011, // const char *, int
NscMessage_WarningRepairedPrototypeRetType = 6012, // const char *
NscMessage_WarningSwitchInDoWhile = 6013, //
NscMessage_WarningForIncNotIntegralType = 6014, //
NscMessage_WarningForInitNotIntegralType = 6015, //
NscMessage_WarningCaseDefaultOutsideSwitch = 6016, //
NscMessage_WarningIdentUsedInInitializer = 6017, // const char *
NscMessage_WarningUnsupportedPragmaIgnored = 6018, //
NscMessage_WarningCompatIdentListExceeded = 6019, // int
NscMessage_WarningCompatIdentListExceededFn = 6020, // const char *, int
NscMessage__LastWarning,
NscMessage__LastMessage
};