190 lines
11 KiB
C
190 lines
11 KiB
C
/****************************************************************************
|
|
* apps/interpreters/bas/bas_error.h
|
|
*
|
|
* Copyright (c) 1999-2014 Michael Haardt
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
* to deal in the Software without restriction, including without limitation
|
|
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
* and/or sell copies of the Software, and to permit persons to whom the
|
|
* Software is furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
* DEALINGS IN THE SOFTWARE.
|
|
*
|
|
* Adapted to NuttX and re-released under a 3-clause BSD license:
|
|
*
|
|
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
|
* Authors: Alan Carvalho de Assis <Alan Carvalho de Assis>
|
|
* Gregory Nutt <gnutt@nuttx.org>
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in
|
|
* the documentation and/or other materials provided with the
|
|
* distribution.
|
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
|
* used to endorse or promote products derived from this software
|
|
* without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
* POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __APPS_EXAMPLES_BAS_BAS_ERROR_H
|
|
#define __APPS_EXAMPLES_BAS_BAS_ERROR_H
|
|
|
|
/****************************************************************************
|
|
* Pre-processor Definitions
|
|
****************************************************************************/
|
|
|
|
#define _(String) String
|
|
|
|
#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")
|
|
#define NOTAVAILABLE RUNTIME+22,_("Feature not available")
|
|
|
|
#endif /* __APPS_EXAMPLES_BAS_BAS_ERROR_H */
|