.. include:: ./global.rst |newpage| |Gaudi logo| .. _chapJobo: Appendix C Job Options Grammar and Error Codes ============================================== 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' [ #else ] #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 \`.' [ scientificdigit ] ) \| | ( prefix \`.' scientificdigit ) . string = \`"' {char} \`"' . scientificdigit = < digit> [ ( \`e' \| \`E' ) < digit> ] . digit =
. 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 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:: Possible Error-Codes +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error-Code | Reason | How to avoid it | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #000 Internal | - | This,code normally should never appear. | | compiler error | | 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 | - wrong path in #include-directive, | Please check if any of the listed | | property-file does | - wrong file or mistyped filename, | reasons occured in your case. | | not exists or can | - file is exclusively locked by | | | not be opened | another application, | | | | - no memory available to open this file | | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Warning #001 File already | The file was already included by another | Remove the #include-directive | | included by another file | file and will not be included a second | | | | time.,The compiler will ignore this | | | | #include-directive and will continue | | | | with the next statement. | | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #002 syntax error: | The compiler expected an object at the | Maybe you mistyped the name of the | | Object expected | given position. | object or the object contains | | | | unknown characters or does not fit | | | | the given rules. | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #003 syntax error: | The compiler expect a dot between the | Check if the dot between the Object | | Missing dot between | Object and the Propertyname. | and the Propertyname is missing. | | Object and Propertyname | | | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #004 syntax error: | The compiler expected an identifier at | Maybe you mistyped the name of the | | Identifier expected | the given position. | identifier or the identifier contains | | | | unknown characters or does not fit the | | | | given rules. | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #005 syntax error: | The compiler expected an operator | Check if there is a valid operator | | Missing operator '+=' | between the Propertyname and the value. | after the Propertyname. Note that | | or '=' | | a blank or tab is not allowed between | | | | '+='! | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #006 String is not | A string (value) was not terminated by a ". | Check,if all your strings are beginning | | terminated by a " | | 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: | The next token after the #include is not | Make sure that after the #include-directive | | #include-statement is | a string. | there is specified the file to include. | | not correct | | The file must be defined as a string! | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #008 syntax error: | The include-directive was terminated by a ; | Remove the ; after the #include-directive. | | #include does not end | | | | with a ; | | | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #009 syntax error: | One or more values within a vector were not | Check,if every value in the vector is | | Values must be separated | separated with a ',' or one ore more values | separated by a ','. If so the reason, | | with ',' | within a vector are mistyped. | for this message may result in mistyped | | | | values in the vector (maybe,there is a | | | | blank or tab between numbers). | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #010 syntax error: | The closing bracket is missing or the vector | Check, if the vector ends with a '}' and | | Vector must end with '}' | is not terminated correctly. | if there is no semicolon before the | | | | ending-bracket. | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #011 syntax error: | The statement is not terminated correctly. | Check if the statement ends with a | | Statement must end with a ; | | semicolon ';'. | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Runtime-Error #012: Cannot | The compiler cannot append the values to | Check,if the refered object is defined | | append to object because | the object.propertyname because the | in one of the included files, if so, | | it does not exists | object does not exist. | check if you writed the object-name | | | | exactly like in the include-file. | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Runtime-Error #013 Cannot | The compiler cannot append the values to | Check,if there was already something | | append to object because | the object.propertyname because the | assigned to the refered property (in the, | | Property does not exists | property does not exist. | 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 | One,or more elements in the vector have | Check declaration of vector, check the types | | vector are not of the same | a different type than the first,element | and check, if maybe a value is mistyped. | | type | in the vector. All elements must have | | | | the same type like the,first declarated | | | | element. | | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #015 Value(s) expected | The compiler didn't find values to | Check the statement if there exists values | | | append or assign | and if they are written correctly. Maybe | | | | this error is a result of a previous error! | +-------------------------------+-----------------------------------------------+-----------------------------------------------+ | Error #016 Specified | The compiler was not able to include a | Check,if you are using enviornment-variables | | property-file does not exist | property-file or didn't found the file. | to resolve the file, if they are,mistyped | | or can not be resolved | A reason can be that the compiler was | (wether in the system or in the | | | not able to resolve an,environment-variable | #include-directive) or not set,correctly. | | | which points to the location of the | | | | property-file. | | +-------------------------------+-----------------------------------------------+-----------------------------------------------+