Author


Pearl Boldt
13012 Birdale Lane
Darnestown, MD 20878-3558

Internet: Quiktrim@ibm.net






Errors


User Guide
Chapters
Table of Contents
Built In Function List
Common Problems
Warning Errors, 0-999
File Errors, 2000-2999
Pattern Errors, 3000-3999
Run-Time Errors, 4000-4999
Interpretation Errors, 5000-5999
Memory Errors, 6000-6999
Regular Expression Errors, 7000-7999

Errors

QTAwk error returns. When QTAwk encounters an error which it cannot correct, it generates and displays an error message in the format:

Error (xxxx):  Error Message  Text
From 'execute' Function.
Action File line: llll
Scanning File: utility filename
Record: rrrr
Action File line

Line 2 is generated only if the error occurred during execution of the execute function. Lines 4 to 5 are displayed only if an input file is currently being scanned.

On a normal exit QTAwk returns a value of zero, 0, to the operating system. This value may be set with the exit statement. On encountering an error which generates an error message, QTAwk exits with a nonzero value between 1 and 6. The warning messages will exit with a return value of zero. The return values generated on detecting an error are:
Error type
return value
error value, ev
Warning Errors 0 ev < 1000
File Errors 2 2000 <= ev < 3000
Pattern Errors 3 3000 <= ev < 4000
Run-Time Errors 4 4000 <= ev < 5000
Interpretation Errors 5 5000 <= ev < 6000
Memory Error 6 6000 <= ev < 7000
Regular Expression Errors 3 7000 <= ev < 8000

The 'error value' range shown in the above list, shows the range of the numeric value shown in the error message for that type of error.

The error value displayed on line 1 may be used to find the error diagnostic.

Warning Errors


001
10

001

The only valid command line options are:
option
action
-- to stop command line option scanning
-f to specify a utility filename
-F to specify the input record field separator, FS.
-Wd to sset DELAY_INPUT_PARSE to true
-Ww to specify a utility filename for utility internal form

10

An attempt has been made to close a file with the close function, that is not currently open.

File Errors


2000
2010
2020
2030
2040
2050
2060
2070
2080 - 2102

2000

File Not Found

The filename given in the error message, has been specified on the command line. The file named does not exist. QTAwk displays this error message and terminates processing.

2010

Error in Re-Opening File in Binary Mode.

The RECLEN built-in variable has been changed to a non-zero value. In reading fixed length records, the input file is re-opened in "binary" mode so that Carriage Return/Line Feed pairs are NOT translated to single Line Feed characters. An error has occurred in attempting to change the translation mode for a file opened in text mode to binary mode. Please contact the author with details of this error.

2020

Error in Re-Opening File in Binary Mode.

The RECLEN built-in variable has been changed to a non-zero value. In reading fixed length records, the input file is re-opened in "binary" mode so that Carriage Return/Line Feed pairs are NOT translated to single Line Feed characters. An error has occurred in attempting to change the translation mode for a file opened in text mode to binary mode. Please contact the author with details of this error.

2030

Only One Internal Form Utility File Allowed

When specifying utility files, only one utility in internal form may be specified. In addition, internal form utility files may not be mixed with ASCII utility files.

2040

Error in Re-Opening File in Binary Mode.

The RECLEN built-in variable has been changed to a non-zero value. In reading fixed length records, the input file is re-opened in "binary" mode so that Carriage Return/Line Feed pairs are NOT translated to single Line Feed characters. An error has occurred in attempting to change the translation mode for a file opened in text mode to binary mode. Please contact the author with details of this error.

2050

Error in Re-Opening File in Binary Mode.

The RECLEN built-in variable has been changed to a non-zero value. In reading fixed length records, the input file is re-opened in "binary" mode so that Carriage Return/Line Feed pairs are NOT translated to single Line Feed characters. An error has occurred in attempting to change the translation mode for a file opened in text mode to binary mode. Please contact the author with details of this error.

2060

Error in Re-Opening Standard Input File in Binary Mode.

The "Wi" option has been specified on the command line invoking QTAwk, and an error has occurred in attempting to change the translation mode for the Standard Input file. Please contact the author with details of this error.

2070

Error in Re-Opening Standard Output File in Binary Mode.

The "Wo" option has been specified on the command line invoking QTAwk, and an error has occurred in attempting to change the translation mode for the Standard Output file. Please contact the author with details of this error.

2080 to 2102

Error in saving Standard File of Parent.
Error in Assigning Standard File for Child Process
Error in Closing Inactive End of Pipe to Child Process.
Error in Restoring Standard File for Parent Process.

These errors occur when QTAwk is attempting to create the data pipe to or from a child process. Please contact the author with the exact error number and the circumstances under which the error occurred.

Pattern Errors


3000
3010

3000

Stop pattern without a start

The range pattern has the form:

expression , expression

The comma, ,, is used to separate the expressions of the pattern. The associated action is executed when the first or start expression is TRUE. Execution continues for every input record until, and including, the second or stop expression is TRUE. A comma, ',', has been found in a pattern without the first expression. This is usually caused by imbalanced braces, "{}". Check all prior braces to ensure that every left brace, '{', has an associated terminating right brace, '}'.

3010

Already have a stop pattern

The range pattern has the form:

expression , expression

The comma, ',', is used to separate the expressions of the pattern. The associated action is executed when the first or start expression is TRUE. Execution continues for every input record until, and including, the second or stop expression is TRUE. A second comma, ',', has been found in a pattern. This may be caused by the unbalanced braces as for error number 3000 above. A second cause may stem from the fact that new patterns for pattern/action pairs must be separated from previous patterns by a new-line if no action, i.e., the default action, is associated with the previous pattern.

Run-Time Errors


4000
4010
4020
4030
4040
4050
4070
4080
4090
4095
4100
4110
4120
4130
4140
4160
4170, 4180, 4190
4220
4222
4223
4230
4240
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
4380
4390
4400
4410
4420
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4530
4540
4550 - 4572
4580 - 4584

4000

Command Line Variable Set - Not Used.

Only variables defined in the QTAwk utility may be set on the command line with the form "variable = value"

4010

Missing Opening Parenthesis On 'while'.

The proper syntax for the while statement is:

while ( conditional_expression ) statement

The left parenthesis, '(', starting the conditional expression was not found following the 'while' keyword. Check that the syntax conforms to the form above.

4020

Missing Opening Parenthesis On 'switch'.

The form of the switch construct is:

switch ( switch_expression ) statement

The left parenthesis, '(', was not found following the 'switch' keyword.

4030

Unable to compile Regular Expression

QTAwk was unable to convert a regular expression to internal form. Please contact the QTAwk author with information on the circumstances of this error message.

4040

Internal Array Error.

Internal error. Please contact the QTAwk author with information on the circumstances of this error message.

4050

pre/post '++' or '--' Needs a Variable.

The pre/post ++/-- operators operate on variables only. This error is usually generated because of an incorrect understanding of the precedence rules. The operator was associated by QTAwk when the utility line was parsed than the user expected. Check the precedence rules and the syntax of the line cited.

4070

Undefined Symbol.

A symbol has been found which QTAwk does not recognize. This error should not occur and represents an internal error. Please contact the QTAwk author with information on the circumstances of this error message.

4080

Internal Error #200

Internal error. Please contact the QTAwk author with information on the circumstances of this error message.

4090

Attempt To Delete Nonexistent Array Element.

The delete statement was followed with a reference to an array element that does not exist.

4095

Attempt To Delete Array Element With 'deletea' Statement.

The deletea statement is used to delete whole arrays. If it is desired to delete a single array element, the delete statement should be used.

4100

Warning, Attempt To Close File/Pipe Not Successful.

An attempt has been made to close a file or pipe with the close function. The close action has not been successful, usually because the file or pipe named does not exist. Check the name specified.

4110

strim Function Result Exceeds Limits.

The built-in function strim has been called with a string to trim which exceeds the maximum limits of 4096 characters.

4120

Cannot Nest 'execute' Function.

The execute function cannot be executed with a string/array executed by this function. An attempt has been made to do this. Check the string/array which was executed.

4130

(g)sub Function Result Exceeds Limits.

The function sub or gsub has been called to replace matching strings and the resultant string after replacement would exceed the limit of 4096 characters.

4140

Missing ')' for Function Call.

A built-in function has been called with a left parenthesis starting the argument list, but no right parenthesis terminating the argument list. Check the line in question.

4160

[sf]printf needs format string as first argument

The fprintf and sprintf functions need a format string which specifies the output. The format string is the second argument and must be specified for these functions.

4170, 4180, 4190

Format Specifications Exceed Arguments To Print.

The printf, fprintf and sprintf functions use a format string to control the output. Certain characters strings in the format control the output of numerics and imbedded strings. There must be exactly one extra argument for each of these character control strings. This error occurs when there are more control strings than extra arguments.

4220

Third Argument For '(g)sub' Function Must Be A Variable.

The optional third argument of the sub and gsub functions must be a variable. The string value of this variable is replaced after string substitution has been accomplished.

4222

First Argument For findfile Function Must Be A Variable.

Findfile returns the results of a directory search in the variable specified as the first argument of the findfile function call. Thus, this argument must a variable.

4223

findfile Functionfindfile returns the results of a directory search in the variable specified as the first argument of the findfile function call. Since the result returned is an array and an array cannot be assigned to the element of another array, the first argument cannot be an array element.

4230

Excessive Length Specified substr Function.

The form of the substr function is The third argument is optional, but if specified cannot exceed 4096.

4240

Start Position Specified Too Great, substr Function.

The form of the substr function is The second argument cannot exceed 4096.

4270

rotate Function Needs Array Member As Argument. The argument for the rotate function must be an array. If a variable is used, make sure that it is an array when the function is called.

4280

Excessive Width Specified center Function.

The second argument specifies the width of the line in which to center the string value of the first argument. The width specified cannot exceed 4096.

4290

Excessive Copies Specified copies Function.

The second argument of the copies function specifies the number of copies of the string value of the first argument to return. The number of copies specified cannot exceed 65,536. See error number 4300 below also.

4300

copies Function Return Exceeds Limits.

The copies function returns the string value of the first argument, copied the number of times specified by the second argument. The total length of the returned string:

arg2 * length(arg1)

cannot exceed 4096 characters.

4310

Excessive Characters Specified deletec Function.

The deletec function deletes the number of characters specified by the third argument starting at the position specified by the second argument from the string value of the first argument. The form of the function is:

deletec(string,start,num)

The number of characters specified to delete, 'num', cannot exceed 65,536. If 'num' is zero or exceeds the number of characters remaining in the string from the start position, then the remainder of the string is deleted. See also error 4320 below.

4320

Excessive Characters Specified deletec Function.

The deletec function deletes the number of characters specified by the third argument starting at the position specified by the second argument from the string value of the first argument. The form of the function is:

deletec(string,start,num)

The start is negative or greater than the length of the string value of the first argument, then no characters are deleted.

4330

deletec Intermediate Result Exceeds Limits.

The deletec function deletes the number of characters specified by the third argument starting at the position specified by the second argument from the string value of the first argument. The form of the function is:

deletec(string,start,num)

If the length of the string value of the first argument exceeds 4096 then this error is triggered.

4340

Start Position Specified Too Great, insert Function.

The insert function inserts the string value of the second argument into the string value of the first argument, starting at the position specified by the third argument. The form of the function is:

insert(string1,string2,start)

The third argument cannot exceed 65,536. If start exceeds the length of the string value of 'string1', then the string value of 'string2' is concatenated onto the string value of 'string1'

4350

insert Function Intermediate Result Exceeds Limits.

The insert function inserts the string value of the second argument into the string value of the first argument, starting at the position specified by the third argument. The form of the function is:

insert(string1,string2,start)

The length of the string value value of 'string1' cannot exceed 4096 in length. The result of insert 'string2' into 'string1' cannot exceed 4096 also. See error number 4360 below.

4360

insert Function Return Exceeds Limits.

The insert function inserts the string value of the second argument into the string value of the first argument, starting at the position specified by the third argument. The form of the function is:

insert(string1,string2,start)

The length of the string value value of 'string1' cannot exceed 4096 in length. The result of insert 'string2' into 'string1' cannot exceed 4096 also. See error number 4350 above.

4370

Start Position Specified Too Great, overlay Function.

The overlay function overlays the string value of the second argument into the string value of the first argument, starting at the position specified by the third argument. The form of the function is:

overlay(string1,string2,start)

The third argument cannot exceed 65,536. If start exceeds the length of the string value of 'string1', then blanks are appended to 'string1' to create a string of length 'start'. The second string is then concatenated to this string. See also error numbers 4380, 4390, and 4400.

4380

overlay Function Result Exceeds Limits.

The overlay function overlays the string value of the second argument into the string value of the first argument, starting at the position specified by the third argument. The form of the function is:

overlay(string1,string2,start)

The third argument cannot exceed 4096. If start exceeds the length of the string value of 'string1', then blanks are appended to 'string1' to create a string of length 'start'. The second string is then concatenated to this string. See also error numbers 4370, 4390, and 4400.

4390

overlay Function Intermediate Result Exceeds Limits.

The overlay function overlays the string value of the second argument into the string value of the first argument, starting at the position specified by the third argument. The form of the function is:

overlay(string1,string2,start)

The length of the string value of 'string1' cannot exceed 4096 characters. See also error numbers 4370, 4380, and 4400.

4400

overlay Function Result Exceeds Limits.

The overlay function overlays the string value of the second argument into the string value of the first argument, starting at the position specified by the third argument. The form of the function is:

overlay(string1,string2,start)

The length of the resultant string after overlaying 'string2' onto 'string1' cannot exceed 4096. See also error numbers 4370, 4380, and 4390.

4410

'remove' Function Intermediate Result Exceeds Limits.

The 'remove' function removes all characters specified by the second argument from the string value of the first argument. The form of the function is:

remove(string,char)

The length of 'string' before any character are removed cannot exceed 4096.

4420

Excessive Width Specified justify Function.

The justify function forms a string from the elements of the array specified by the first argument. The string will have a length specified by the integer value of the third argument and will be formed from the number of array elements specified by the second argument. Any padding characters necessary between array elements can be specified by the optional fourth argument. The form of the function is:

justify(array_var,count,width [,pad_char] );

The width specified cannot exceed 65,536. See also error number 4430 below.

4430

Excessive Number Of Array Elements Specified justify Function.

The justify function forms a string from the elements of the array specified by the first argument. The string will have a length specified by the integer value of the third argument and will be formed from the number of array elements specified by the second argument. Any padding characters necessary between array elements can be specified by the optional fourth argument. The form of the function is:

justify(array_var,count,width [,pad_char] );

The count of array elements to use cannot exceed 65,536. See also error number 4420 above.

4440

Bad Function Call - Internal Error.

An internal error has occurred in calling a built-in function. Please contact the QTAwk author with information on the circumstances of this error.

4450

Missing ')' for Function Call.

A user-defined function has been called with an argument list and no right parenthesis, ')', terminating the argument list.

4460

More Arguments For Function Than Defined. Function uuuuuu

More argument are passed to the user defined function named in the error message than were defined for the function. Check the user function name or the definition of the function for necessary extra arguments.

4470

Less Arguments For User Function Than Defined. Function

Less arguments are passed to the user defined function named in the error message than were defined for the function. This error message is generated ONLY if the built-in variable _arg_chk has a TRUE value. Variables local to a user-defined function should be defined with the local keyword.

4480

Constant Passed For Function Array Parameter.

A parameter to a user defined function used as an array within the function cannot be passed a constant value. Only a variable can be passed for this parameter. If the statement where the variable is indexed as an array is executed, the variable will be an array upon return from the function.

4490

Internal Error - Misalignment Of Local List ( ).

This is an internal QTAwk error. It should ideally never happen. If this error message is generated, please contact the QTAwk author with information on the circumstances.

4500

Cannot Assign Array To Array Element.

Arrays can be assigned to variables, however, it is an error it attempt to assign an array to a single element of another array.

4510

Array Cannot Operate on Scalar.

A scalar may operate on an array, but the reverse is not true.

4520

Assignment Operator needs a Variable on left.

The assignment operator, =, or any of the op= operators, only operate on a variable to the left of the operator.

4530

Stack Underflow

Internal stack error. Please contact the QTAwk author with information on the circumstances of this error message.

4540

String Type Variable Needed For Pattern String - findfile Function

The second argument of the findfile function, if given, must be a string type expression

4550 to 4572

Error in Executing Child Process.

An error has occurred when QTAwk attempted to execute the desired child process.

Please contact the author with this message, the exact error number displayed and the circumstances under which the error occurred.

4580 - 4584

Pipe Operator for 'print' function needs string for pipe command.
Pipe Operator for 'printf' function needs string for pipe command.
Pipe Operator for 'getline' function needs string for pipe command.

Pipe operator for the 'print' or 'printf' built-in functions is of the form:
print ... >|< "command string"
Pipe operator for the 'getline' built-in function is of the form:
"command string" >|< getline()

The "command string" must be a string value.

Interpretation Errors


5030
5040
5050
5060
5070
5080
5100
5110
5120
5130
5140
5150
5160
5170
5180
5190
5200
5210
5220
5230
5240
5250
5260
5270
5280
5290
5300
5310
5320
5330
5340
5350
5360
5370
5380
5390, 5400, 5420
5410
5430
5440
5450
5460
5470
5480
5490
5500
5510
5520
5530
5540
5550
5560
5570
5580
5590
5600
5610
5620
5630
5640
5650
5670
5680
5690
5700
5710
5720
5730
5740
5742, 5744
5750
5760
5770
5780
5785
5788
5790
5800
5810
5820
5830
5840
5850
5860
5870
5880
5890

5030

Internal Error #3.

Internal error. Please contact the QTAwk author with information on the circumstances of this error message.

5040

Internal Error #2.

Internal error. Please contact the QTAwk author with information on the circumstances of this error message.

5050

BEGIN/END/NOMATCH/INITIAL/FINAL Patterns or User Function Require An Action.

The predefined patterns:

  • BEGIN
  • INITIAL
  • NOMATCH
  • FINAL
  • END
  • must have actions associated with them. The brace opening the action must be on the same line as the predefined pattern.

    5060

    Exceeded Internal Stack Size on Scan.

    The internal stack for containing parsed tokens has been exceeded. Attempt to simplify the utility in the area where this error occurred.

    5070

    Underflow Internal Stack on Scan.

    This is an internal error. If this error occurs please contact the QTAwk author with information on the circumstances of this error message.

    5080

    Missing ')' For Function Call.

    A used defined function argument list must be terminated with a right parenthesis, ')'. A symbol has been found which cannot be part of the argument list and is not a right parenthesis. .*:h3 id=5090 res=20001.5090 .*:p.Function Call Without Parenthesized Argument List. .*:p.A user defined function definition must include an argument list. The .*argument list may be empty, e.g., "()", if there are no formal arguments.

    5100

    fprint Function Takes A minimum Of 1 Argument.

    The fprint built-in function must have at least the name name of the output file specified.

    5110

    printf and sprintf Functions Take A Minimum Of 1 Argument.

    These functions must have at least a format string defined.

    5120

    fprintf Function Needs A Minimum of Two Arguments.

    This function needs an output file name and a format string.

    5130

    Second Argument Of fgetline Has To Be A Variable.

    If two arguments are specified for the fgetline built-in function, the second must be a variable.

    5140

    Argument Of getline Has To Be A Variable.

    If an argument for the getline function is specified, it must be a variable.

    5150

    split Function Needs Variable Name As Second Argument.

    The second second argument for the split function must be a variable. The pieces into which the first argument is split will be returned as array elements of the variable specified.

    5160

    rotate Function Needs Variable As Argument.

    The argument of the rotate function has to be an array variable.

    5170

    justify Function Needs Variable As First Argument.

    The format of the justify built-in function is:

    justify(a,n,w)

    or

    justify(a,n,w,c)

    The first argument, 'a', must be an array variable. The first n elements of the array are concatenated to form a string 'w' characters long. a single space is used to separate the concatenated elements. If the optional third argument is specified, it is converted to a character value and used to separate the elements.

    5180

    [pu]_sym Function Needs Variable As Second Argument.

    The second argument of the built-in funcions pd_sym and ud_sym must be a variable whose value can be changed to equal the string value of the name variable specified.

    5190

    Bad Function Call

    Internal QTAwk error. Please contact the QTAwk author with information on the circumstances of this error.

    5200

    Improper Number Of Arguments, {Function_Name} Function.

    The built-in function specified has been called with an improper number of arguments for the function. Check the user manual for the correct use of the intended function.

    5210

    Need Variable On Left Side Of Assignment.

    In an assignment statement of the form:

    variable = expression;

    a variable must be specified on the left side of the assignment operator to receive the value of the expression on the right side of the operator.

    5220

    Conditional Expression Error - Missing ':'

    The form of the conditional expression is:

    test_expression ? expression_1 : expression_2;

    test_expression is evaluated, if the result is TRUE (nonzero numeric or non-null string), expression_1 is evaluated and the value becomes the value of the conditional expression. If the value of test_expression is FALSE (zero numeric or null string), expression_2 is evaluated and the value becomes the value of the conditional expression.

    5230

    in Operator Needs Array As Right Operand

    The form of the in operator is:

    expression in array_var

    The operand to the right of in, array_var here, has to be a variable. If the variable is not an array, then the value of the expression is FALSE.

    5240

    Missing ')' in Expression Grouping.

    An expression has been scanned with unbalanced parenthesis. Check for a missing terminating right parenthesis.

    5250

    Pre-Increment/Decrement Operators Need Variable.

    The increment and decrement operators, ++ and --, only operate on variables. An instance has been found in which the operator has been used as a prefix operator on something other than a variable. Check that grouping has not changed a post-fix operator into a prefix operator.

    5260

    Undefined Symbol.

    A symbol has been found which matches no defined QTAwk syntax. This usually, but not always, occurs when the terminating semi-colon, ';', has been left off a statement.

    5270

    Need Variable for Array Reference

    A left bracket for indexing an array has been encountered. However, the preceding symbol was not a variable. Only variables may be arrays and indexed.

    5280

    Missing Index For Array

    A left bracket for indexing an array has been encountered. However, the index expression is missing

    5290

    Missing ']' Terminating array index.

    A left bracket and an index expression for indexing an array have been encountered. However, the right bracket terminating the index expression was not recognized. Check that the array index follows the form:

    var[index_expression]

    5300

    Post-Increment/Decrement Operators Need Variable.

    The increment and decrement operators, ++ and --, only operate on variables. An instance has been found in which the operator has been used as a post-fix operator on something other than a variable. Check that grouping has not changed a prefix operator into a post-fix operator.

    5310

    if Keyword - No Expression To Test.

    The proper syntax for the if statement is:

    if ( conditional_expression ) statement

    The left parenthesis, '(', starting the conditional expression was not found following the if keyword. Check that the syntax conforms to the form above.

    5320

    if Keyword - No Terminating ')' On Test Expression.

    The proper syntax for the if statement is:

    if ( conditional_expression ) statement

    The right parenthesis, ')', terminating the conditional expression was not found. Check that the syntax to conforms the form above.

    5330

    while Keyword - No Terminating ')' On Test Expression.

    The proper syntax for the while statement is:

    while ( conditional_expression ) statement

    The right parenthesis, ')', terminating the conditional expression was not found. Check that the syntax to conforms the form above.

    5340

    Missing while Part Of do.

    The proper syntax for the do statement is:

    do statement while ( conditional_expression );

    The while keyword was not found following the statement portion. Check that a possible left brace, '{', starting a compound statement may have been deleted or for the possible misuse of a keyword as a variable.

    5350

    Missing '(' On while Part Of do.

    The proper syntax for the 'do' statement is:

    do statement while ( conditional_expression );

    The left parenthesis, '(', starting the conditional expression was not found following the while keyword. Check that the syntax conforms to the form above.

    5360

    Missing ')' On while Part Of do.

    The proper syntax for the 'do' statement is:

    do statement while ( conditional_expression );

    The right parenthesis, ')', terminating the conditional expression was not found. Check that the syntax to conforms the form above.

    5370

    Missing ';' Terminating do - while.

    The proper syntax for the do statement is:

    do statement while ( conditional_expression );

    Note the semicolon following the right parenthesis terminating the conditional expression. The semicolon is necessary here.

    5380

    Missing Opening Parenthesis On for.

    The proper syntax for the for statement is:

    for ( initial_expression ; conditional_expression ; loop_expression )

    statement

    or for ( variable_name in array_name ) statement

    The left parenthesis, '(', was not found following the for keyword. Check that the syntax conforms to the form above.

    5390, 5400, 5420

    Improper Syntax - for Conditional.

    The proper syntax for the for statement is:

    for ( initial_expression ; conditional_expression ; loop_expression )

    statement

    One of the semicolons separating the three expressions or the terminating right parenthesis was not found. Check that the syntax follows the form above

    5410

    in Operator Needs Variable As Left Operand in for Statement.

    The proper syntax for the or statement is:

    for ( variable_name in array_name ) statement

    the symbol following the left parenthesis and preceding the in keyword must be a valid variable name.

    5430

    break/continue Keyword Outside Of Loop.

    Either of these keywords must be used inside of a while, for or do loop. In addition, the break statement may be used inside a switch-case construct to terminate execution flow. One of the keywords has been found outside of such a construct. Check for an imbalance of braces, '{}', enclosing compound statements.

    5440

    return Statement Outside Of User Function.

    The return statement may only be used inside of a user-defined function to terminate execution of the function and cause execution to return to the place where the function was called. The return keyword was encountered outside of the definition of such a function. Check for the use of the keyword as a variable or for unbalanced braces, '{}', enclosing the statements of the function.

    5450

    Exceeded Limits on Number of Local Variable Definitions (1).

    QTAwk places a limit of 256 local variables within any compound statement. An attempt has been made to define more local variables than this limit allows.

    5460

    No Variables Defined With local Keyword.

    The form of local variable definition with the local keyword follows the form:

    local var1, var2 = optional_expression;

    The local keyword was encountered followed immediately by a semicolon. Check that the syntax follows the above form.

    5470

    switch Keyword - No Terminating ')' On Expression.

    The form of the switch construct is:

    switch ( switch_expression ) statement

    The right parenthesis, ')', terminating the switch_expression was not found.

    5480

    case/default Statement Without Switch Statement.

    The case keyword is used within the switch statement to specify case expressions to which execution should transfer after matching the switch expression. A case keyword was found outside of the switch statement. Check for the use of the keyword as a variable or for unbalanced braces enclosing a compound switch statement.

    5490

    Multiple 'default' Statements in switch.

    The 'default' keyword is used within a switch statement to specify a transfer point at execution should proceed when the switch_expression fails to match any case_expression. Only one 'default' transfer point is allowed per switch statement. Check for possible unbalanced braces, '{}', enclosing a compound statement in previous 'case' statements.

    5500

    Missing ':' Following Expression On Case Label.

    The form of the case statement is:

    case case_expression:

    A colon, ':', must terminate the case expression. QTAwk did not find the terminating colon.

    5510

    Need Variable For delete Reference

    The form of the delete statement is:

    delete variable_name;

    or

    delete (variable_name);

    or

    delete variable_name[index];

    or

    delete (variable_name[index]);

    where variable must be a global or local variable.

    5520

    deletea Statement Variable Cannot Be Indexed.

    The form of the deletea statement is:

    deletea variable_name;

    or

    deletea (variable_name);

    where variable must be a global or local variable and cannot be indexed.

    5530

    Need Variable For deletea Reference

    The form of the deletea statement is:

    deletea variable_name;

    or

    deletea (variable_name);

    where variable must be a global or local variable.

    5540

    No ';' Terminating Statement.

    All statements in QTAwk are terminated by a semicolon. The terminating semicolon was not found by QTAwk.

    5550

    Internal Compilation Error - Action Strings.

    This is an QTAwk internal error that should never happen. If this error message in encountered, please contact the QTAwk author with information on the circumstances of this error.

    5560

    Error On Single Line Action. No Termination.

    In parsing/compiling an action entered from the command line or by executing the execute built-in function, the end of the line was reached without reaching the end of the action expression(s). Typically caused by a missing right bracket, '}' (or unbalanced brackets - more left brackets than right brackets).

    5570

    Too Many User Functions Defined.

    QTAwk currently has a limit of 256 user defined functions. The current utility has attempted to define more than that limit. Please contact the QTAwk author with information on the circumstances of this error message.

    5580

    Exceeded Limits on Number of Local Variable Definitions (2).

    QTAwk currently has a limit of 256 local variables defined within any single compound statement. The current utility has attempted to define more than that limit. Please contact the QTAwk author with information on the circumstances of this error message.

    5590

    Expecting Function Name To Follow function Keyword In Pattern.

    The function keyword has been encountered in a pattern without a function name immediately following. This syntax error may be corrected by inserting the missing name or by removing the function keyword from the pattern.

    5600

    Multi-Defined Function Name.

    The name supplied for a user defined function has been used previously. The current usage attempts to redefine the name. Change either the first use of the name or the present.

    5610

    Unexpected Symbol - Function Argument List Definition.

    A user defined function has been encountered with the accompanying list defining the passed argument names. The form of the list is a variable name followed by 1) a comma and more names, 2) an ellipses, '...' followed by a right parenthesis, or 3) a right parenthesis ending the list. A symbol other than a comma or right parenthesis has been found following a variable name.

    5620

    Expecting ')' To Terminate Function Parameter List.

    A user defined function has been encountered with the accompanying list defining the passed argument names. The form of the list is a variable name followed by 1) a comma and more names, 2) an ellipses, '...' followed by a right parenthesis, or 3) a right parenthesis ending the list. A symbol has been found other than the right parenthesis following the ellipses.

    5630

    Unexpected Symbol - Function Argument List Definition.

    A user defined function has been encountered with the accompanying list defining the passed argument names. The form of the list is a variable name followed by 1) a comma and more names, 2) an ellipses, '...' followed by a right parenthesis, or 3) a right parenthesis ending the list. A symbol other than a comma or right parenthesis has been found following a variable name.

    5640

    Expecting Parenthesized Argument Definition List For Function.

    A user defined function has the following form:

    function function_name ( argument_list )

    The left parenthesis of the argument list was not found.

    5650

    Improper Syntax - Improper Ending For Pattern

    A pattern expression must be ended by a symbol other than above has been encountered.

    5670

    Internal Parse Error

    Internal parser error. Please contact the QTAwk author with information on the circumstances of this error message.

    5680

    Local Variable With Reserved Name.

    An attempt has been made to define a local variable in either a user defined function argument list or with the local keyword, with a name equal to a reserved word.

    5690

    Improper Use of Keyword.

    A pattern keyword has been encountered in an action statement.

    5700

    User Function Variable Argument Keyword Outside Of User Function.

    The two predefined local variables vargc and vargv can only be used within user defined functions which have been defined with a variable length argument list using the ellipsis, '...'. One of these variables has been encountered outside of a user defined function.

    5710

    Variable Argument Keyword In User Function Defined Without Variable Number Of Arguments.

    The two predefined local variables vargc and vargv can only be used within user defined functions which have been defined with a variable length argument list using the ellipsis, '...'. One of these variables has been encountered inside of a user defined function which was not defined with a variable length argument list.

    5720

    Internal Error - Variable Argument List Variable.

    The two predefined local variables vargc and vargv can only be used within user defined functions which have been defined with a variable length argument list using the ellipsis, '...'. One of these variables has been previously defined as a local variable within the current compound statement.

    5730

    Internal Error - Variable Argument List Variable.

    The two predefined local variables vargc and vargv can only be used within user defined functions which have been defined with a variable length argument list using the ellipsis, '...'. One of these variables has been previously defined as a global variable.

    5740

    Internal Parse Error

    Internal parser error. Please contact the QTAwk author with information on the circumstances of this error message.

    5742, 5744

    Constant Exceeds Numerical Limits: xxxxxxxxxxxx

    The constant shown (indicated by 'xxxxxxxxxxxx' in error message), exceeds the numerical limits for this implementation of QTAwk. Reduce the size of the numeric

    5750

    Internal Parse Error

    Internal parser error. Please contact the QTAwk author with information on the circumstances of this error message.

    5760

    Empty Regular Expression.

    A regular expression must have some characters between the beginning and ending slashes. A regular expression has been encountered with none.

    5770

    Regular Expression - No Terminating /.

    A regular expression constant must be contained on one line and be terminated by a slash. A regular expression has been been found with a no terminating slash before encountering a new line.

    5780

    Internal Parse Error

    Internal parser error. Please contact the QTAwk author with information on the circumstances of this error message.

    5785

    Escape to Continue Quoted Line Not Allowed in Pattern.

    Using a escape character, '\', at the end of a line and within a quoted string to continue the string on the next line, is not allowed within a pattern. Patterns must be contained on a single line.

    5788

    Unexpected End-of-File While Scanning Utility.

    QTAwk encountered the End-Of-File while reading and interpreting a utility and before the expected end of the utility.

    5790

    String Constant - No Terminating ".

    A string constant must be contained on one line and be terminated by a double quote. A string constant has been been found with a no terminating double quote before encountering a new line.

    5800

    Internal Parse Error

    Internal parser error. Please contact the QTAwk author with information on the circumstances of this error message.

    5810

    Character Constant - No Terminating '.

    A character constant must be contained on one line and be terminated by a single quote. A character constant has been been found with a no terminating single quote before encountering a new line.

    5820

    Character Constant Longer Than One Character

    A character constant is a single character bounded by single quotes as in 'A'. Escape sequences may also be used for specifying the character for a character constant, e.g., '\f' or '\x012' or '\022' are three ways to specify a single form feed character. This error reports that an attempt has been made to use single quotes to bound more than a single character.

    5830

    Lexical Error - Illegal '.'

    Periods are used only in floating point numerics, e.g., 0.88 or .33, or in user defined function definitions to indicate a variable number of arguments, e.g.:

    function max(...) {

    A period has been found which does not match either of these uses.

    5840

    Lexical Error

    A character has been read which does not fit any syntax for a valid utility.

    5850

    Exceeded Max. Limits On Number Of Variables.

    A maximum of 256 global variables may be defined in any single QTAwk utility.

    5860

    Need 'print' or 'printf' Built-in Function on Left Hand Side of Pipe, '>|<'.

    The pipeline operator, '>|<', needs either the 'print' or 'printf' built-in functions on the left hand side of the operator or the 'getline' built-in function on the right hand side. The operator was detected with neither function.

    5870

    Need 'getline' Built-in Function on Right Hand Side of Pipe, '>|<'.

    The pipeline operator, '>|<', needs either the 'print' or 'printf' built-in functions on the left hand side of the operator or the 'getline' built-in function on the right hand side. The operator was detected with neither function.

    5880

    Need string value on Left Hand Side of Pipe, '>|<'.

    The pipeline operator, '>|<', was detected with the 'getline' built-in function on the right hand side of the operator. In this case the command string must be on the left hand side of the operator. An instance was found by the QTAwk interpreter without an acceptable string value on the left hand side.

    5890

    Need string value on Right Hand Side of Pipe, '>|<'.

    The pipeline operator, '>|<', was detected with the 'print' or 'printf' built-in function on the right hand side of the operator. In this case the command string must be on the right hand side of the operator. An instance was found by the QTAwk interpreter without an acceptable string value on the right hand side.

    Memory Errors


    6000
    6010
    6030
    6040, 6050, 6060
    6070
    6080

    6000

    Out of Memory (nThe QTAwk utility has used all available memory and attempted to exceed that limit. It is recommended that the utility be made shorter, or split into multiple utilities run separately.

    6010

    Insufficient Memory.

    The QTAwk utility has used all available memory and attempted to exceed that limit. It is recommended that the utility be made shorter, or split into multiple utilities run separately.

    6030

    Action Too Long

    An action has been defined which exceeds the limits set for the internal length. The maximum length for the internal form of any action is 409,600 characters.

    6040, 6050, 6060

    Out of Memory

    The QTAwk utility has used all available memory and attempted to exceed that limit. It is recommended that the utility be made shorter, or split into multiple utilities run separately.

    6070

    Stack Overflow

    QTAwk maintains an internal stack for intermediate results. The current utility has generated too many intermediate results for this stack. Simplify expressions.

    6080

    Insufficient Memory to Create Pipe to Child Process.

    In creating the data pipe to or from a child process, there was insufficient memory to create the pip.

    Regular Expression Errors


    7000

    7000

    Unbalanced Parenthesis in Regular Expression.

    Sequence NumberParenthesis in a regular expression are unbalanced, i.e., there are more opening left parenthesis, '(', than closing right parenthesis, ')'.


    TOP
    User Guide
    Chapters
    Table of Contents
    Built In Function List
    Common Problems