![]() |
[SynEdit] SingleLine Kommentare
Hi all,
hab ne Frage zu SynEdit. Und zwar bin ich gerade dabei, eine Grammarfile für SynEdit zu erstellen, aber es gelingt mir einfach nicht SingleLine Kommentare einzubauen.
Code:
Das ist mal der gesamte Code der Grammarfile. In dem Tutorial, das SynGen beiliegt, steht beschrieben wie man Multiline Kommentare macht. Also dachte ich mir, das funktioniert doch sicherlich genauso wie bei der Stringdefinition (String,String,","), nur mit den Commentzeugs halt.
TSynDreamSyn {first Identifier is considered to be the Class Name }
tk {second Identifier is considered to be the Identifier Prefix } IdentStart '_', 'a'..'z', 'A'..'Z':: '_', '0'..'9', 'a'..'z', 'A'..'Z':: TOKENTYPES Identifier Comment Foreground=clGreen Space String Foreground=clRed VarIC Foreground=clBlue Test Background=clRed|Style=[fsItalic] |><| KEYS VarIC var const int string float |><| KEYS Test SynEdit lenny |><| CHARS 'A'..'Z', 'a'..'z', '_':: Ident BeginProc fTokenID := IdentKind((fLine + Run)); inc(Run, fStringLen); while Identifiers[fLine[Run]] do Inc(Run); EndProc |><| ENCLOSEDBY Comment,StdComment,#,# String,String,"," |><| SAMPLESOURCE var string test = "This is a test" var int test2 = 10 const float = 0.1 |><| Aber jedesmal wenn ich dann mit SynGen die Pasfile erzeugt habe, und dann das ganze testen will, kommt dieser fehler in der Pasfile: [Fehler] SynHighlighterDreamScript.pas(458): Ausdruck erwartet, aber 'ELSE' gefunden und zwar in folgendem code:
Code:
Ich hoffe mir kann wer helfen :|
procedure TSynDreamSyn.Next;
begin fTokenPos := Run; case fRange of else begin fRange := rsUnknown; fProcTable[fLine[Run]]; end; end; end; hamZta |
Re: [SynEdit] SingleLine Kommentare
Da steht doch
Delphi-Quellcode:
du musst doch was für frange angeben z.B.
case frange of
else begin . . .
Delphi-Quellcode:
case frange of
23:Machdas; 56:Machdies; |
Re: [SynEdit] SingleLine Kommentare
das ist ja nur der code den syngen erzeugt, ich würde aber gerne das Problem mit Hilfe der Grammarfiles lösen.
|
Re: [SynEdit] SingleLine Kommentare
Einzeilige Zitate sind auch mit Grammarfiles möglich. Du musst einfach bei "ENCLOSEDBY" ein neues Zitat (wie ein mehrzeiliges) hinzufügen und am Schluss ",multiline" weglassen. Wenn du aber nur das Zeilenende als Ende des Zitates haben möchtest musst du den von SynGen erzeugten Code ändern (in der Zitatfunktion vorspulen bis Zeilenende oder #0).
|
Re: [SynEdit] SingleLine Kommentare
Wie soll den das Schema aussehen, dann erstell ich dir den Highlighter.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 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