typedef enum AsmError_e { ErrOk = 0, ErrBadRegister, ErrImmediateOverflow, ErrInvalidToken, ErrBadArgumentMeta, ErrNeedCommaAfterArgument, ErrLabelImmediate, ErrNumberImmediate, ErrBadNumOverflow, ErrBadNumDigit, ErrBadNumNoDigit, ErrLabelAfterLabel, ErrOutOfMemory, ErrDuplicateLabel, ErrTrailingLine, ErrNeedDirectiveAfterDot, ErrDirectiveNotImplemented, ErrUnexpectedToken, } AsmError; char *ERRORS[] = { "Success", "Bad register name", "Immediate integer OR relative offset overflow", "Invalid token", "Bad argument char? (blame developer of this program)", "Expected comma after the argument, got something else", "Label immediate needs label or number", "Immediate needs to be a number", "Bad number: u64 overflow", "Bad number: encountered bad gidit", "Bad number: no digits presented after the suffix", "Encountered label after label", "Out of Memory", "Duplicate label", "Encountered trailing identifier after instruction", "Expected directive after dot", "Directive is not implemented", "Unexpected token", };