Troubleshooting
TLML Syntax
Teneo Studio performs checks and validations to help developers spot and correct potential errors in the TLML Syntax, these are visible to the developer through syntax highlighting (read more here) and error messages.
The below table lists the most common errors which can occur while working on the TLML Syntax in the Syntax editor of Language Objects, TLML Syntax Matches, Listeners, etc. most of these are both highlighted in the TLML Syntax editor, displayed in the Tryout and included in Suggestions.
Error message | Example | Comment | More information |
---|---|---|---|
Closing parenthesis directly after operator | (word&) | Indicates that the developer might have forgotten to add a word or reference to a Language Object or Entity | Bracketed syntax |
Compound-operator may only be used with single words without options | %LOB § word word § %LOB %LOB§word | The Compound operator (| or § ) can only be used together with plain words (i.e. no use of Language Objects nor Entities is allowed) on both sides of the operator | Compound operators |
Condition option not allowed | %LOB:1 :e %LOB:E :L word:L word:o %LOB:O | Syntax options can be attached to a TLML syntax and allow to modify a certain aspect of the syntax behavior | Syntax options |
Condition predicate script / variable propagation script not allowed | word^{script} word:{script} | This covers problems with attached scripts | Variables and attached scripts |
Condition terminated incorrectly | word+ | This indicates that the developer might have forgotten to add a word, Language Object or Entity after the operator | Compound syntaxes |
First operand missing | &word ! §word | Indicates that the developer might have forgotten to add a word, Language Object or Entity between two operators or before the use of an operator | Compound syntaxes |
Incomplete dynamic word condition | # | The syntax for this element is incomplete | Dynamic syntax |
Incomplete successor or topic condition | @ | The syntax for the successor or topic syntax is incomplete | Topic syntax |
Invalid number of quotes | "word word >> "& >> word2 | Quotation marks in TLML Syntax have to be always duplicated, so one at the beginning of the word and another at the end | TLML syntax |
Missing opening brace | script} | Script expression have to be enclosed in curly brackets {} when used in TLML syntax editors | Script syntax |
Missing opening parenthesis | word + word2) / word3 word + word2) | Parentheses or brackets are used to group and organize syntax parts and are especially useful when writing Compound syntaxes also, they are a necessary mean when using more than one type of operators in a TLML syntax to determine which parts of the syntax belong together, and for the syntax to be valid there need to be both an opening bracket and a closing bracket | Bracketed syntax |
Missing or Invalid option value | word: word: + x word:x | Syntax options can be attached to a TLML syntax and allow to modify a certain aspect of the syntax behavior, the syntax option is added to the TLML syntax by use of : (colon) plus the wanted option (:1 , :E , :L , :O ) | Syntax options |
Name of language object / entity missing | % | This covers errors where a percentage sign is written but the name of the Language Object/Entity is not present | Language Object syntax |
Operator at invalid location | word / / word2 word + (word +) word § word § / word2 | Indicates that the developer has forgotten to add a word, Language Object or Entity between two operators or before/after the use of an operator | Compound syntaxes |
Operator expected | (word1) word2 word1 word2 word1 (word2) %LOB1 %LOB2 %LOB %ENTITY | TLML Syntax needs operators between words, Language Objects, Entities and other syntax elements | Compound syntaxes |
Parenthesis not closed | word + (word2 | Parentheses or brackets are used to group and organize TLML syntax parts and are especially useful when writing Compound syntaxes also, they are a necessary mean when using more than one type of operators in a syntax to determine which parts of the syntax belong together, and for the syntax to be valid there need to be both an opening bracket and a closing bracket | Bracketed syntax |
Script terminated incorrectly | {script (word):{script (word)^{script | Script expression have to be enclosed in curly brackets {} when used in TLML syntax editors | Script syntax |
Successor condition not supported | word$@42 @0123 @"123" | The syntax for the successor is not supported | TLML syntax Topic syntax |
Unterminated condition comment | word == comment | Comments inline TLML Syntax are written by the use of two equal symbols (== ) at the beginning and at the end of the comment | Comments |
Whitespace not allowed before opening brace of condition predicate / propagate script | (word)^ {script} | Variables and attached scripts |