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:
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
|><|
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.
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:
procedure TSynDreamSyn.Next;
begin
fTokenPos := Run;
case fRange of
else
begin
fRange := rsUnknown;
fProcTable[fLine[Run]];
end;
end;
end;
Ich hoffe mir kann wer helfen
hamZta