1$ $ 2$ SPDX-License-Identifier: BSD-2-Clause 3$ $ 4$ Copyright (c) 2018-2023 Gavin D. Howard and contributors. 5$ $ 6$ Redistribution and use in source and binary forms, with or without 7$ modification, are permitted provided that the following conditions are met: 8$ $ 9$ * Redistributions of source code must retain the above copyright notice, this 10$ list of conditions and the following disclaimer. 11$ $ 12$ * Redistributions in binary form must reproduce the above copyright notice, 13$ this list of conditions and the following disclaimer in the documentation 14$ and/or other materials provided with the distribution. 15$ $ 16$ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17$ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18$ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19$ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20$ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21$ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22$ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23$ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24$ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25$ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26$ POSSIBILITY OF SUCH DAMAGE. 27$ $ 28 29$quote " 30 31$ Error types. 32$set 1 33 341 "Math error:" 352 "Parse error:" 363 "Runtime error:" 374 "Fatal error:" 385 "Warning:" 39 40$ Math errors. 41$set 2 42 431 "negative number" 442 "non-integer number" 453 "overflow: number does not fit into a hardware number" 464 "divide by 0" 47 48$ Parse errors. 49$set 3 50 511 "end of file" 522 "invalid character '%c'" 533 "string end cannot be found" 544 "comment end cannot be found" 555 "invalid token" 566 "invalid expression" 577 "empty expression" 588 "invalid print or stream statement" 599 "invalid function definition" 6010 "invalid assignment: left side must be scale, ibase, obase, seed, last, var, or array element" 6111 "no auto variable found" 6212 "function parameter or auto \"%s%s\" already exists" 6313 "block end cannot be found" 6414 "cannot return a value from void function: %s()" 6515 "var cannot be a reference: %s" 6616 "POSIX does not allow names longer than 1 character: %s" 6717 "POSIX does not allow '#' script comments" 6818 "POSIX does not allow the following keyword: %s" 6919 "POSIX does not allow a period ('.') as a shortcut for the last result" 7020 "POSIX requires parentheses around return expressions" 7121 "POSIX does not allow the following operator: %s" 7222 "POSIX does not allow comparison operators outside if statements or loops" 7323 "POSIX requires 0 or 1 comparison operators per condition" 7424 "POSIX requires all 3 parts of a for loop to be non-empty" 7525 "POSIX requires a newline between a semicolon and a function definition" 7626 "POSIX does not allow exponential notation" 7727 "POSIX does not allow array references as function parameters" 7828 "POSIX does not allow void functions" 7929 "POSIX requires the left brace be on the same line as the function header" 8030 "POSIX does not allow strings to be assigned to variables or arrays" 81 82$ Runtime errors. 83$set 4 84 851 "invalid ibase: must be [%lu, %lu]" 862 "invalid obase: must be [%lu, %lu]" 873 "invalid scale: must be [%lu, %lu]" 884 "invalid read() expression" 895 "recursive read() call" 906 "variable or array element is the wrong type" 917 "stack has too few elements" 928 "stack for register \"%s\" has too few elements" 939 "wrong number of parameters; need %zu, have %zu" 9410 "undefined function: %s()" 9511 "cannot use a void value in an expression" 96 97$ Fatal errors. 98$set 5 99 1001 "memory allocation failed" 1012 "I/O error" 1023 "cannot open file: %s" 1034 "file is not text: %s" 1045 "path is a directory: %s" 1056 "invalid command-line option: \"%s\"" 1067 "option requires an argument: '%c' (\"%s\")" 1078 "option takes no arguments: '%c' (\"%s\")" 1089 "invalid command-line option argument: \"%s\"" 109