Cabezon version 0.08 ships with compiler error messages in Japanese language only. This is a showstopper, if you don't know that language. That includes me. So I started translating to English in January 2020.
Error codes 60 to 64 are currently not used in Cabezon, so corresponding error messages are undefined.
| Error | Description |
| 0 | No error |
| 1 | Use = instead of := |
| 2 | Use := instead of = |
| 3 | Identifier not declared |
| 4 | Identifier duplicated* |
| 5 | Variable or function name required |
| 6 | Expression must not contain procedures* |
| 7 | The preceding factor cannot be followed by this symbol* |
| 8 | Incorrect number of procedure / function arguments |
| 9 | Declaration or begin required* |
| 10 | Something other than simple auto variable after for* |
| 11 | String constant length is too large |
| 12 | String or array name in illegal position* |
| 13 | The second byte of the kanji code is invalid |
| 14 | Constants, procedures and functions are not lvalues* |
| 15 | Label required |
| 16 | Not enough memory for symbol table |
| 17 | Argument type mismatch |
| 18 | Label value is over 0-9999 |
| 19 | Array or string size is invalid |
| 20 | There is a duplicate case label* |
| 21 | Label definition is invalid in interface part* |
| 22 | End of file detected before program exit* |
| 23 | End of file detected in the middle of the string* |
| 24 | End of file detected in the middle of a comment |
| 25 | For floating point numbers. A number is required after or E* |
| 26 | Integer constant is too large |
| 27 | Illegal character in hexadecimal constant |
| 28 | Expected constant* |
| 29 | Inappropriate constant for upper / lower limit of range type |
| 30 | Upper and lower limit types of range type are different |
| 31 | Lower bound value is greater than upper bound of range type |
| 32 | Sign can only be attached to a number* |
| 33 | Unit name and file name are incompatible* |
| 34 | Type is different from declaration |
| 35 | Duplicate case constants |
| 36 | Function procedure argument differs from forward declaration* |
| 37 | Function / procedure declared forward is undefined |
| 38 | Left and right types do not match |
| 39 | This type cannot appear in context* |
| 40 | Procedure or function name required |
| 41 | Calling a function as a procedure |
| 42 | Record field not found |
| 43 | You cannot assign the return value of this function* |
| 44 | Cannot cast these types* |
| 45 | Only local variables can be used as control variables in for statement* |
| 46 | The expression in the with statement must be record type* |
| 47 | Label definition is duplicated* |
| 48 | You cannot jump into a structural sentence with goto* |
| 49 | Label not defined |
| 50 | Type of for statement does not match* |
| 51 | new / dispose argument must be a pointer* |
| 52 | Referencing undefined tag in variable record* |
| 53 | String is too long. Truncated* |
| 54 | Constant (expression) value is out of range* |
| 55 | Unable to open input file |
| 56 | packed or huge appeared in wrong place* |
| 57 | huge arrays cannot be specified as return type for local variables or functions* |
| 58 | Cannot assign entire huge array* |
| 59 | huge array cannot be a record or array element* |
| 60 | undefined |
| 61 | undefined |
| 62 | undefined |
| 63 | undefined |
| 64 | undefined |
| 65 | leave statement can only be used inside a loop* |