nes-pascal

Compiler diagnostics

English Português (Brasil)

Diagnostic codes are part of the compiler’s public API. Once retired, a code must never be assigned to a different diagnostic. Future diagnostics must use the range reserved for their category.

Diagnostic code ranges

Range Category Details
E1000-E1999 Lexical Analysis Lexical diagnostics
E2000-E2999 Parser / Syntax Syntax diagnostics
E3000-E3999 Semantic Analysis Semantic diagnostics
E4000-E4999 Type System Type-system diagnostics
E5000-E5999 Code Generation Code-generation diagnostics
E6000-E6999 Runtime Validation Runtime-validation diagnostics
W1000-W1999 Warnings Reserved; no warnings are emitted
I1000-I1999 Informational Messages Reserved; no informational messages are emitted

Diagnostic index

Code Category Description
E1000 Lexical Analysis Unexpected character
E1002 Lexical Analysis Malformed hexadecimal literal
E2101 Parser / Syntax Unknown command
E2102 Parser / Syntax Invalid syntax
E3001 Semantic Analysis Missing nes.run
E3002 Semantic Analysis Statement after nes.run
E3003 Semantic Analysis Invalid background-color call count
E3004 Semantic Analysis Duplicate symbol
E3005 Semantic Analysis Unknown identifier
E3006 Semantic Analysis Assignment to constant
E3007 Semantic Analysis Unknown assignment target
E3008 Semantic Analysis Variable read before assignment
E3009 Semantic Analysis Runtime command inside conditional
E3010 Semantic Analysis Loop control outside loop
E3011 Semantic Analysis Runtime command inside loop
E3012 Semantic Analysis For control variable modification
E3013 Semantic Analysis Unknown procedure
E3014 Semantic Analysis Recursive callable cycle
E3015 Semantic Analysis Runtime command inside callable
E3016 Semantic Analysis Incorrect procedure argument count
E3017 Semantic Analysis Frame wait before runtime start
E3018 Semantic Analysis Unknown callback procedure
E3019 Semantic Analysis Invalid callback signature
E3020 Semantic Analysis Duplicate update callback
E3021 Semantic Analysis Duplicate VBlank callback
E3022 Semantic Analysis Invalid callback registration context
E3023 Semantic Analysis VBlank-unsafe operation
E3024 Semantic Analysis Invalid callback call graph
E3025 Semantic Analysis Conflicting callback registration
E3026 Semantic Analysis Invalid controller index
E3027 Semantic Analysis Dynamic controller index
E3028 Semantic Analysis Invalid controller button
E3029 Semantic Analysis Invalid controller argument count
E3030 Semantic Analysis Invalid sprite-zero argument count
E3031 Semantic Analysis Invalid background palette index
E3032 Semantic Analysis Invalid sprite palette index
E3033 Semantic Analysis Invalid palette color index
E3034 Semantic Analysis Invalid palette argument count
E3035 Semantic Analysis Invalid background-load argument count
E3036 Semantic Analysis Background load after runtime start
E3037 Semantic Analysis Duplicate background load
E3038 Semantic Analysis Invalid set-tile argument count
E3039 Semantic Analysis Invalid get-tile argument count
E3040 Semantic Analysis Invalid set-attribute argument count
E3041 Semantic Analysis Invalid clear-background-updates argument count
E3042 Semantic Analysis Invalid tile coordinate
E3043 Semantic Analysis Invalid attribute coordinate
E3044 Semantic Analysis Invalid background-overflow query argument count
E3045 Semantic Analysis Invalid background-overflow clear argument count
E3046 Semantic Analysis Invalid set-scroll argument count
E3047 Semantic Analysis Invalid sprite API argument count
E3048 Semantic Analysis Invalid hardware sprite palette
E3049 Semantic Analysis Invalid sprite-create argument count
E3050 Semantic Analysis OAM hardware-sprite capacity exhausted
E3051 Semantic Analysis Invalid metasprite import
E3052 Semantic Analysis Duplicate metasprite import
E3053 Semantic Analysis Invalid metasprite creation
E3054 Semantic Analysis Invalid metasprite API argument count
E3055 Semantic Analysis Incompatible metasprite frame
E3056 Semantic Analysis Invalid metasprite animation
E3057 Semantic Analysis Invalid builtin context
E3058 Semantic Analysis Invalid builtin argument count
E3059 Semantic Analysis Unknown function
E3060 Semantic Analysis Incorrect function argument count
E3061 Semantic Analysis Function used as statement
E3062 Semantic Analysis Procedure used as expression
E3063 Semantic Analysis Undefined function result
E3064 Semantic Analysis Invalid random range
E4001 Type System Unknown type
E4002 Type System Invalid nes_color value
E4003 Type System Invalid byte value
E4004 Type System Incompatible types
E4005 Type System Unsupported parameter type
E4006 Type System Invalid controller argument type
E4007 Type System Invalid palette argument type
E4008 Type System Invalid sprite value
E4009 Type System Invalid metasprite value
E4010 Type System Invalid array element type
E4011 Type System Invalid array index type
E4012 Type System Array index out of bounds
E4013 Type System Invalid array usage
E4014 Type System Invalid array bounds
E4015 Type System Duplicate enumeration member
E4016 Type System Too many enumeration members
E4017 Type System Invalid enumeration comparison
E4018 Type System Unknown enumeration member
E4019 Type System Duplicate record field
E4020 Type System Unknown record field
E4021 Type System Field access on non-record
E4022 Type System Unsupported record field type
E4023 Type System Recursive record definition
E4024 Type System Invalid record layout or indexed offset
E4025 Type System Invalid record usage
E4026 Type System Unsupported function return type
E5001 Code Generation Missing toolchain
E5002 Code Generation Toolchain failure
E5003 Code Generation User RAM exhausted
E5004 Code Generation Temporary RAM exhausted
E5005 Code Generation Invalid memory layout
E5006 Code Generation RAM segment overflow
E5007 Code Generation Hardware stack call depth exhausted
E6001 Runtime Validation File access failure
E6002 Runtime Validation CHR-ROM asset not found
E6003 Runtime Validation CHR-ROM asset read failure
E6004 Runtime Validation Invalid CHR-ROM size
E6005 Runtime Validation Invalid background asset configuration
E6006 Runtime Validation Background asset not found
E6007 Runtime Validation Background asset read failure
E6008 Runtime Validation Invalid background asset size
E6009 Runtime Validation Background asset required
E6010 Runtime Validation Invalid mirroring configuration
E6011 Runtime Validation Metasprite asset not found
E6012 Runtime Validation Metasprite asset read failure
E6013 Runtime Validation Malformed metasprite JSON metadata
E6014 Runtime Validation Unsupported metasprite metadata format
E6015 Runtime Validation Unsupported metasprite metadata version
E6016 Runtime Validation Invalid metasprite metadata
E6017 Runtime Validation Incompatible metasprite CHR data
E6018 Runtime Validation Invalid metasprite asset configuration

Warnings

The W1000-W1999 range is reserved for future non-fatal compiler warnings. The compiler currently emits no warnings.

Informational messages

The I1000-I1999 range is reserved for future informational diagnostics. The compiler currently emits no informational messages.