Einzelnen Beitrag anzeigen

hamZta

Registriert seit: 5. Sep 2004
7 Beiträge
 
Delphi 7 Personal
 
#1

[SynEdit] SingleLine Kommentare

  Alt 12. Sep 2004, 12:30
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
  Mit Zitat antworten Zitat