Freigeben über


GDL-Werte

Ein GDL-Wert ist eine Zeichenfolge, die mit dem ersten Nicht-Leerzeichen in einem GDL-Attribut beginnt, das nach dem Doppelpunkttrennzeichen gefunden wird und normalerweise endet, wenn eine Zeilenumbruchsequenz oder ein Konstrukttrennzeichen erreicht wird.

Es gibt einige GDL-Kontexte , wenn eine Zeilenumbruchsequenz oder ein Konstrukttrennzeichen den Wert nicht beendet. Diese speziellen Kontexte umfassen Folgendes:

  • Konstrukttrennzeichen treten als Teil eines Kommentars auf.

  • Beendigungszeichen werden als Teil einer Zeichenfolge mit Anführungszeichen angezeigt.

  • Beendigungszeichen treten innerhalb eines geschachtelten Kontexts auf.

  • Terminierungszeichen treten innerhalb eines beliebigen Werts auf.

Ein Wert kann null, einen oder mehrere dieser speziellen Kontexte enthalten. Ein einzelner Kontexttyp kann mehrmals in einem Wert angezeigt werden. Jeder der oben genannten besonderen Kontexte kann auch außerhalb eines anderen Kontexts angezeigt werden. Einige Kontexte können in einem anderen Kontext angezeigt werden; diese Fälle werden in den Beschreibungen der einzelnen Kontexte notiert. Alle Kontexte müssen beendet werden, bevor der Wert entweder durch eine Zeilenumbruchsequenz oder ein Konstrukttrennzeichen beendet werden kann.

Die beendende Zeilenumbruchsequenz oder ein Konstrukttrennzeichen wird nicht als Teil des Werts betrachtet.

Werte sind in einem GDL-Attribut optional.

Wertmakroverweise können überall in einem GDL-Wert angezeigt werden, der nicht literale Leerzeichen zulässig ist. diese Verweise beginnen mit dem Gleichheitszeichen (=). Wenn das Gleichheitszeichen in einem solchen Kontext verwendet wird und kein Wertmakroverweis eingeführt werden soll, muss auf das Gleichheitszeichen ein Zeichen ohne Symbol (z. B. Leerzeichen) folgen. Weitere Informationen zu Wertmakros finden Sie unter GDL-Wertmakros.

Weitere Informationen zu GDL-Kontexten finden Sie unter GDL-Kontexte.

Die folgenden Codebeispiele zeigen Werte, die für den GDL-Parser akzeptabel sind.

*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>