![]() |
SynEdit GrammarFile - Attribut fehlt?
Moin,
und wieder ein Problem mit dem SynEdit GrammarFile. Wie kann ich dort denn eine Section für Zahlen definieren, damit ich zur Laufzeit auf myHighlighter.NummberAttri zugreifen kann? Die SynGen-Demo zeigt dies leider nicht und in anderen Foren habe ich dazu auch nichts gefunden. Ich denke, ich müsste was erstellen wie Zitat:
|
Re: SynEdit GrammarFile - Attribut fehlt?
Geht das denn irgendwie, dass ich auch die Highlighter-Farben der Zahlen ändern kann? :stupid:
Marabu? :mrgreen: |
Re: SynEdit GrammarFile - Attribut fehlt?
Hallo Matthias,
ein simples numerisches Literal kannst du definieren, indem du unter TokenTypes einen Eintrag - hier mit default settings - vornimmst:
Code:
Dazu musst du noch den passenden Lexical Scanner unter CHARS bereit stellen:
TOKENTYPES
Number Background=clBlue|Foreground=clYellow
Code:
Bis du einen grammar file für Ada-95 mit seinen etwa 400 productions (wenn ich mich richtig erinnere) fertig hast, wird noch einige Zeit vergehen.
CHARS
'0'..'9':: Number BeginProc fTokenID := tkNumber; inc(Run); while FLine[Run] in ['0'..'9'] do inc(Run); EndProc Frohe Weihnachten vom marabu |
Re: SynEdit GrammarFile - Attribut fehlt?
Hallo marabu. Perfekt, danke.
Zitat:
Schöne Weihnachten. |
Re: SynEdit GrammarFile - Attribut fehlt?
Hast du auch wieder recht - dich interessieren fürs anmalen ja nur die token types.
marabu |
Re: SynEdit GrammarFile - Attribut fehlt?
Hallo
Ich hätte nich eine Bitte: Gehighlighted wird nun so:
Code:
Und hier sollten die Zahlen natürlich nicht gesondert hervorgehoben werden, das möchte ich nur, wenn es sich auch wirklich um eine Zahl (Integer, Natural & Co) handelt. Kann man das auch einstellen?
[b][color=#1B0DA2]with[/color][/b] Win[color=#ff001f]32[/color].Utils;
|
Re: SynEdit GrammarFile - Attribut fehlt?
Guten Morgen Matthias.
Der von dir angegebene Identifier CharSet scheint nicht korrekt zu sein. Du hast Ziffern als Bestandteil eines Identifier ausgeschlossen. Doofes Schlüsselwort, aber hier wird festgelegt, dass ein Identifier aus den Zeichen besteht, die bis zum Zeilenende folgen:
Code:
Da ein Identifier nicht mit einer Ziffer beginnen darf, schließt du Ziffern als Startsymbole aus, indem du das festgelegte Trennzeichen "::" und die zulässigen Startzeichen folgen lässt:
IdentStart '_', '0'..'9', 'a'..'z', 'A'..'Z'
Code:
Ich ahne schon, was dein nächstes Problem sein wird, aber ich weiß leider selbst noch keine Lösung dafür.
IdentStart '_', '0'..'9', 'a'..'z', 'A'..'Z' :: '_', 'a'..'z', 'A'..'Z'
Grüße vom marabu |
Re: SynEdit GrammarFile - Attribut fehlt?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo marabu,
ich habe deinen letzte Beitrag ganz übersehen. Soweit sieht es ganz gut aus, danke. Zitat:
Irgendwie ist ein Highlighter deutlich komplexer als man denkt. |
Re: SynEdit GrammarFile - Attribut fehlt?
Hallo Matthias,
vielleicht denke ich wieder einmal zu kompliziert, aber was ist mit dem Literal -273,15? Bist du mit der Darstellung zufrieden oder schließt du solche Literale kategorisch aus? Grüße vom marabu |
Re: SynEdit GrammarFile - Attribut fehlt?
Hallo marabu
Zitat:
Code:
-[color=#ff0000]273[/color],[color=#ff0000]15[/color]
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz