summaryrefslogtreecommitdiff
path: root/apps/interpreters/bas/error.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/interpreters/bas/error.h')
-rw-r--r--apps/interpreters/bas/error.h133
1 files changed, 133 insertions, 0 deletions
diff --git a/apps/interpreters/bas/error.h b/apps/interpreters/bas/error.h
new file mode 100644
index 000000000..cb796707d
--- /dev/null
+++ b/apps/interpreters/bas/error.h
@@ -0,0 +1,133 @@
+#ifndef ERROR_H
+#define ERROR_H
+
+//#include "config.h"
+
+#ifdef HAVE_GETTEXT
+#include <libintl.h>
+#define _(String) gettext(String)
+#else
+#define _(String) String
+#endif
+
+#define STATIC 100
+
+#define ALREADYDECLARED STATIC+ 0, _("Formal parameter already declared")
+#define ALREADYLOCAL STATIC+ 1, _("Variable already declared as `local'")
+#define BADIDENTIFIER STATIC+ 2, _("Identifier can not be declared as %s")
+#define BADRANGE STATIC+ 3, _("Ranges must be constructed from single letter identifiers")
+#define INVALIDLINE STATIC+ 4, _("Missing line number at the beginning of text line %d")
+#define INVALIDUOPERAND STATIC+ 5, _("Invalid unary operand")
+#define INVALIDOPERAND STATIC+ 6, _("Invalid binary operand")
+#define MISSINGAS STATIC+ 7, _("Missing `as'")
+#define MISSINGCOLON STATIC+ 8, _("Missing colon `:'")
+#define MISSINGCOMMA STATIC+ 9, _("Missing comma `,'")
+#define MISSINGCP STATIC+10, _("Missing right parenthesis `)'")
+#define MISSINGDATAINPUT STATIC+11, _("Missing `data' input")
+#define MISSINGDECINCIDENT STATIC+12, _("Missing `dec'/`inc' variable identifier")
+#define MISSINGEQ STATIC+13, _("Missing equal sign `='")
+#define MISSINGEXPR STATIC+14, _("Expected %s expression")
+#define MISSINGFILE STATIC+15, _("Missing `file'")
+#define MISSINGGOTOSUB STATIC+16, _("Missing `goto' or `gosub'")
+#define MISSINGVARIDENT STATIC+17, _("Missing variable identifier")
+#define MISSINGPROCIDENT STATIC+18, _("Missing procedure identifier")
+#define MISSINGFUNCIDENT STATIC+19, _("Missing function identifier")
+#define MISSINGARRIDENT STATIC+20, _("Missing array variable identifier")
+#define MISSINGSTRIDENT STATIC+21, _("Missing string variable identifier")
+#define MISSINGLOOPIDENT STATIC+22, _("Missing loop variable identifier")
+#define MISSINGFORMIDENT STATIC+23, _("Missing formal parameter identifier")
+#define MISSINGREADIDENT STATIC+24, _("Missing `read' variable identifier")
+#define MISSINGSWAPIDENT STATIC+25, _("Missing `swap' variable identifier")
+#define MISSINGMATIDENT STATIC+26, _("Missing matrix variable identifier")
+#define MISSINGINCREMENT STATIC+27, _("Missing line increment")
+#define MISSINGLEN STATIC+28, _("Missing `len'")
+#define MISSINGLINENUMBER STATIC+29, _("Missing line number")
+#define MISSINGOP STATIC+30, _("Missing left parenthesis `('")
+#define MISSINGSEMICOLON STATIC+31, _("Missing semicolon `;'")
+#define MISSINGSEMICOMMA STATIC+32, _("Missing semicolon `;' or comma `,'")
+#define MISSINGMULT STATIC+33, _("Missing star `*'")
+#define MISSINGSTATEMENT STATIC+34, _("Missing statement")
+#define MISSINGTHEN STATIC+35, _("Missing `then'")
+#define MISSINGTO STATIC+36, _("Missing `to'")
+#define NESTEDDEFINITION STATIC+37, _("Nested definition")
+#define NOPROGRAM STATIC+38, _("No program")
+#define NOSUCHDATALINE STATIC+39, _("No such `data' line")
+#define NOSUCHLINE STATIC+40, _("No such line")
+#define REDECLARATION STATIC+41, _("Redeclaration as different kind of symbol")
+#define STRAYCASE STATIC+42, _("`case' without `select case'")
+#define STRAYDO STATIC+43, _("`do' without `loop'")
+#define STRAYDOcondition STATIC+44, _("`do while' or `do until' without `loop'")
+#define STRAYELSE1 STATIC+45, _("`else' without `if'")
+#define STRAYELSE2 STATIC+46, _("`else' without `end if'")
+#define STRAYENDIF STATIC+47, _("`end if' without multiline `if' or `else'")
+#define STRAYSUBEND STATIC+49, _("`subend', `end sub' or `endproc' without `sub' or `def proc' inside %s")
+#define STRAYSUBEXIT STATIC+50, _("`subexit' without `sub' inside %s")
+#define STRAYENDSELECT STATIC+51, _("`end select' without `select case'")
+#define STRAYENDFN STATIC+52, _("`end function' without `def fn' or `function'")
+#define STRAYENDEQ STATIC+53, _("`=' returning from function without `def fn'")
+#define STRAYEXITDO STATIC+54, _("`exit do' without `do'")
+#define STRAYEXITFOR STATIC+55, _("`exit for' without `for'")
+#define STRAYFNEND STATIC+56, _("`fnend' without `def fn'")
+#define STRAYFNEXIT STATIC+57, _("`exit function' outside function declaration")
+#define STRAYFNRETURN STATIC+58, _("`fnreturn' without `def fn'")
+#define STRAYFOR STATIC+59, _("`for' without `next'")
+#define STRAYFUNC STATIC+60, _("Function/procedure declaration without end")
+#define STRAYIF STATIC+61, _("`if' without `end if'")
+#define STRAYLOCAL STATIC+62, _("`local' without `def fn' or `def proc'")
+#define STRAYLOOP STATIC+63, _("`loop' without `do'")
+#define STRAYLOOPUNTIL STATIC+64, _("`loop until' without `do'")
+#define STRAYNEXT STATIC+65, _("`next' without `for' inside %s")
+#define STRAYREPEAT STATIC+66, _("`repeat' without `until'")
+#define STRAYSELECTCASE STATIC+67, _("`select case' without `end select'")
+#define STRAYUNTIL STATIC+68, _("`until' without `repeat'")
+#define STRAYWEND STATIC+69, _("`wend' without `while' inside %s")
+#define STRAYWHILE STATIC+70, _("`while' without `wend'")
+#define SYNTAX STATIC+71, _("Syntax")
+#define TOOFEW STATIC+72, _("Too few parameters")
+#define TOOMANY STATIC+73, _("Too many parameters")
+#define TYPEMISMATCH1 STATIC+74, _("Type mismatch (has %s, need %s)")
+#define TYPEMISMATCH2 STATIC+75, _("Type mismatch of argument %d")
+#define TYPEMISMATCH3 STATIC+76, _("%s of argument %d")
+#define TYPEMISMATCH4 STATIC+77, _("Type mismatch (need string variable)")
+#define TYPEMISMATCH5 STATIC+78, _("Type mismatch (need numeric variable)")
+#define TYPEMISMATCH6 STATIC+79, _("Type mismatch (need numeric value)")
+#define UNDECLARED STATIC+80, _("Undeclared function or variable")
+#define UNNUMBERED STATIC+81, _("Use `renum' to number program first")
+#define OUTOFSCOPE STATIC+82, _("Line out of scope")
+#define VOIDVALUE STATIC+83, _("Procedures do not return values")
+#define UNREACHABLE STATIC+84, _("Unreachable statement")
+#define WRONGMODE STATIC+85, _("Wrong access mode")
+#define FORMISMATCH STATIC+86, _("`next' variable does not match `for' variable")
+#define NOSUCHIMAGELINE STATIC+87, _("No such `image' line")
+#define MISSINGFMT STATIC+88, _("Missing `image' format")
+#define MISSINGRELOP STATIC+89, _("Missing relational operator")
+
+#define RUNTIME 200
+
+#define MISSINGINPUTDATA RUNTIME+0, _("Missing `input' data")
+#define MISSINGCHARACTER RUNTIME+1, _("Missing character after underscore `_' in format string")
+#define NOTINDIRECTMODE RUNTIME+2, _("Not allowed in interactive mode")
+#define NOTINPROGRAMMODE RUNTIME+3, _("Not allowed in program mode")
+#define BREAK RUNTIME+4, _("Break")
+#define UNDEFINED RUNTIME+5, _("%s is undefined")
+#define OUTOFRANGE RUNTIME+6, _("%s is out of range")
+#define STRAYRESUME RUNTIME+7, _("`resume' without exception")
+#define STRAYRETURN RUNTIME+8, _("`return' without `gosub'")
+#define BADCONVERSION RUNTIME+9, _("Bad %s conversion")
+#define IOERROR RUNTIME+10,_("Input/Output error (%s)")
+#define IOERRORCREATE RUNTIME+10,_("Input/Output error (Creating `%s' failed: %s)")
+#define IOERRORCLOSE RUNTIME+10,_("Input/Output error (Closing `%s' failed: %s)")
+#define IOERROROPEN RUNTIME+10,_("Input/Output error (Opening `%s' failed: %s)")
+#define ENVIRONFAILED RUNTIME+11,_("Setting environment variable failed (%s)")
+#define REDIM RUNTIME+12,_("Trying to redimension existing array")
+#define FORKFAILED RUNTIME+13,_("Forking child process failed (%s)")
+#define BADMODE RUNTIME+14,_("Invalid mode")
+#define ENDOFDATA RUNTIME+15,_("end of `data'")
+#define DIMENSION RUNTIME+16,_("Dimension mismatch")
+#define NOMATRIX RUNTIME+17,_("Variable dimension must be 2 (is %d), base must be 0 or 1 (is %d)")
+#define SINGULAR RUNTIME+18,_("Singular matrix")
+#define BADFORMAT RUNTIME+19,_("Syntax error in print format")
+#define OUTOFMEMORY RUNTIME+20,_("Out of memory")
+#define RESTRICTED RUNTIME+21,_("Restricted")
+
+#endif