Gaudi logo

21. Appendix C Job Options Grammar and Error Codes

21.1. C.1 The EBNF grammar of the Job Options files

The syntax of the Job-Options-File is defined through the following EBNF-Grammar.

Job-Options-File = {Statements} .

Statements = {Include-Statement} | {Assign-Statement} | {Append-Statement} | {Platform-Dependency} .

AssertableStatements = {Include-Statement} | {Assign-Statement} | {Append-Statement} .

AssertionStatement = ‘#ifdef’ | ‘#ifndef’ .

Platform-Dependency = AssertionStatement ‘WIN32’ <AsertableStatements> [ #else <AssertableStatements> ] #endif

Include-Statement = `#include’ string .

Assign-Statement = Identifier `.’ Identifier `=’ value `;’ .

Append-Statement = Identifier `.’ Identifier `+=’ value `;’ .

Identifier = letter {letter | digit} .

value = boolean | integer | double | string | vector .

vector = `{‘ vectorvalue { `,’ vectorvalue } `}’ .

vectorvalue = boolean | integer | double | string .

boolean = `true’ | `false’ .

integer = prefix scientificdigit .

double = | ( prefix <digit> `.’ [ scientificdigit ] ) | | ( prefix `.’ scientificdigit ) .

string = `”’ {char} `”’ .

scientificdigit = < digit> [ ( `e’ | `E’ ) < digit> ] .

digit = <figure> .

prefix = [ `+’ | `-‘ ] .

figure = `0’ | `1’ | `2’ | `3’ | `4’ | `5’ | `6’ | `7’ | `8’ | `9’.

char = any character from the ASCII-Code

letter = set of all capital- and non-capital letter

21.2. C.2 Job Options Error Codes and Error Messages

The table below lists the error codes and error messages that the Job Options compiler may generate, their reason and how to avoid them.

Table 21.1 Possible Error-Codes

Error-Code

Reason

How to avoid it

Error #000 Internal compiler error

This,code normally should never appear. If this code is shown there is maybe, a problem with your memory, your disk-space or the property-file is, corrupted.

Error #001 Included property-file does not exists or can not be opened

  • wrong path in #include-directive,

  • wrong file or mistyped filename,

  • file is exclusively locked by another application,

  • no memory available to open this file

Please check if any of the listed reasons occured in your case.

Warning #001 File already included by another file

The file was already included by another file and will not be included a second time.,The compiler will ignore this #include-directive and will continue with the next statement.

Remove the #include-directive

Error #002 syntax error: Object expected

The compiler expected an object at the given position.

Maybe you mistyped the name of the object or the object contains unknown characters or does not fit the given rules.

Error #003 syntax error: Missing dot between Object and Propertyname

The compiler expect a dot between the Object and the Propertyname.

Check if the dot between the Object and the Propertyname is missing.

Error #004 syntax error: Identifier expected

The compiler expected an identifier at the given position.

Maybe you mistyped the name of the identifier or the identifier contains unknown characters or does not fit the given rules.

Error #005 syntax error: Missing operator ‘+=’ or ‘=’

The compiler expected an operator between the Propertyname and the value.

Check if there is a valid operator after the Propertyname. Note that a blank or tab is not allowed between ‘+=’!

Error #006 String is not terminated by a “

A string (value) was not terminated by a “.

Check,if all your strings are beginning and ending with “. Note that the, position given by the compiler can be wrong because the compiler may, thought that following statements are part of the string!

Error #007 syntax error: #include-statement is not correct

The next token after the #include is not a string.

Make sure that after the #include-directive there is specified the file to include. The file must be defined as a string!

Error #008 syntax error: #include does not end with a ;

The include-directive was terminated by a ;

Remove the ; after the #include-directive.

Error #009 syntax error: Values must be separated with ‘,’

One or more values within a vector were not separated with a ‘,’ or one ore more values within a vector are mistyped.

Check,if every value in the vector is separated by a ‘,’. If so the reason, for this message may result in mistyped values in the vector (maybe,there is a blank or tab between numbers).

Error #010 syntax error: Vector must end with ‘}’

The closing bracket is missing or the vector is not terminated correctly.

Check, if the vector ends with a ‘}’ and if there is no semicolon before the ending-bracket.

Error #011 syntax error: Statement must end with a ;

The statement is not terminated correctly.

Check if the statement ends with a semicolon ‘;’.

Runtime-Error #012: Cannot append to object because it does not exists

The compiler cannot append the values to the object.propertyname because the object does not exist.

Check,if the refered object is defined in one of the included files, if so, check if you writed the object-name exactly like in the include-file.

Runtime-Error #013 Cannot append to object because Property does not exists

The compiler cannot append the values to the object.propertyname because the property does not exist.

Check,if there was already something assigned to the refered property (in the, include-file or in the current file). If not then modify the, append-statement into a assign-statement. If there was already something assigned, check if the object-name and the property-name are typed correctly.

Error #014 Elements in the vector are not of the same type

One,or more elements in the vector have a different type than the first,element in the vector. All elements must have the same type like the,first declarated element.

Check declaration of vector, check the types and check, if maybe a value is mistyped.

Error #015 Value(s) expected

The compiler didn’t find values to append or assign

Check the statement if there exists values and if they are written correctly. Maybe this error is a result of a previous error!

Error #016 Specified property-file does not exist or can not be resolved

The compiler was not able to include a property-file or didn’t found the file. A reason can be that the compiler was not able to resolve an,environment-variable which points to the location of the property-file.

Check,if you are using enviornment-variables to resolve the file, if they are,mistyped (wether in the system or in the #include-directive) or not set,correctly.