Valori GDL
Un valore GDL è una stringa di caratteri che inizia con il primo carattere di spazi non vuoti in un attributo GDL trovato dopo il delimitatore dei punti e termina in genere quando viene raggiunta una sequenza di interruzione di riga o un delimitatore di costrutto.
Esistono alcuni contesti GDL quando una sequenza di interruzioni di riga o un delimitatore di costrutto non termina il valore. Questi contesti speciali includono quando:
I caratteri delimitatori di costrutto si verificano come parte di un commento.
I caratteri di terminazione si verificano come parte di una stringa con virgolette.
I caratteri di terminazione si verificano all'interno di un contesto annidato.
I caratteri di terminazione si verificano all'interno di un valore arbitrario.
Un valore può contenere zero, uno o più contesti speciali. Un singolo tipo di contesto può essere visualizzato più volte in un valore. Uno dei contesti speciali precedenti può essere visualizzato anche all'esterno di qualsiasi altro contesto. Alcuni contesti potrebbero essere visualizzati all'interno di un altro contesto; questi casi vengono annotati nelle descrizioni di ogni contesto. Tutti i contesti devono essere chiusi prima che il valore possa essere terminato da una sequenza linebreak o da un delimitatore di costrutto.
La sequenza di interruzione della linea di terminazione o un delimitatore di costrutto non viene considerata parte del valore.
I valori sono facoltativi in un attributo GDL.
I riferimenti macro valore potrebbero essere visualizzati ovunque in un valore GDL consentito per spazi vuoti non letterali; questi riferimenti iniziano con il segno di uguale (=). Quando il segno di uguale viene usato in tale contesto e non è destinato a introdurre un riferimento alla macro valore, il segno uguale deve essere seguito da un carattere non simbolo (ad esempio spazi vuoti). Per altre informazioni sulle macro dei valori, vedere Macro dei valori GDL.
Per altre informazioni sui contesti GDL, vedere Contesti GDL.
Gli esempi di codice seguenti mostrano valori accettabili per il parser GDL.
*Value: *% Null Value - only a comment
*Value: "Quoted String"
*Value: "Quoted String with Hex substring: <48 65 78> see?"
*Value: "Hex substring with comment and macro reference <48 *% comment
65 78 =MacroRef > see?" *% note continuation linebreak was automatically assumed
*Value: tokens (parenthesis context) [followed by square brackets context] "ending in quoted string"
*Value: tokens (parenthesis context {with nested curly braces context})
*Value: tokens <BeginValue:anything> no special characters or contexts recognized within an arbitrary value context. " } ) * % < > anything goes, sorry =MacroRefs not recognized
*Keyword: looks like a new entry but its still within the Arbitrary Value context.
+ not continuation chars, *% this is not a comment <EndValue:anything>