AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu SyntaxHighlighting & Grammarfile

Ein Thema von MikeC · begonnen am 30. Dez 2003 · letzter Beitrag vom 30. Dez 2003
Antwort Antwort
MikeC

Registriert seit: 30. Dez 2003
Ort: Home sweet home
11 Beiträge
 
#1

Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 12:50
Hi

ich habe mal eine Frage zu den Grammarfiles, die ich schreiben kann um einen SyntaxHighlighter für SynEdit zu schrieben.

Ich möchte gerne einzelne Zeichen (+ - . , ( ) usw) highlighten lassen. Prinzipiell kann ich doch im Grammafile ein Tokentype SYMBOL definieren und die Symbole dann praktisch als Keyword angeben

also etwa so
Code:

TOKENTYPES
...
...
Symbol Foreground=clRed
...
|><|

KEYS Symbol
.
,
-
(
)
{
}
|><|
Wenn ich das aber mache und das Grammarfile dann mit SynGen compiliere, bekomme ich zwar eine lauffähige Delphi-Unit aber beim Syntaxhighlighting wird dann nur das erste Symbol in der Liste berücksichtigt. (im Beispiel oben wäre das der Punkt). Kann mir jemand verraten warum?
Yesterday it worked, today it doesn't work - Windows is like that!
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 12:56
Ich hab zwar bisher noch keine eigene Highlighter erstellt,
aber könnte es sein das man entweder vor jedes Zeichen "KEYS Symbol" schreiben,oder aber die ganzen Zeichen irgendwie einklammern muss ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Alibi

Registriert seit: 15. Aug 2003
Ort: Bispingen
94 Beiträge
 
Delphi 7 Personal
 
#3

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 13:33
Ich hab mal einen Highlighter für BrainFuck geschrieben. Den hab ich mal angehängt. War ne Menge Bastelarbeit, SynEdit kann ganz gut rumzicken.
+-,.[]<>! werden fett dargestellt, {} rot, () blau und der rest grau.
Als Basis hatte ich auch so ein Grammarfile genommen, musste aber per Hand einiges ändern/hinzufügen.
Angehängte Dateien
Dateityp: zip bfhl.zip (3,8 KB, 14x aufgerufen)
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
  Mit Zitat antworten Zitat
MikeC

Registriert seit: 30. Dez 2003
Ort: Home sweet home
11 Beiträge
 
#4

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 13:43
thx werd's mal testen
Yesterday it worked, today it doesn't work - Windows is like that!
  Mit Zitat antworten Zitat
MikeC

Registriert seit: 30. Dez 2003
Ort: Home sweet home
11 Beiträge
 
#5

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 14:02
Hmm... Also bei mir funktioniert der BrainFuck Highlighter nicht.
Alles, was in {} steht wird zwar rot angezeit aber bei den Symbolen werden nur die eckigen Klammern [] fett gedruckt.
Yesterday it worked, today it doesn't work - Windows is like that!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 14:18
Welche Version von SynEdit hast du?

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
MikeC

Registriert seit: 30. Dez 2003
Ort: Home sweet home
11 Beiträge
 
#7

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 14:23
Version 1.04
was ist denn die neuste, die mit Delphi 7 funktioniert?
Yesterday it worked, today it doesn't work - Windows is like that!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 14:25
die neueste ist SynEdit 1.1

http://synedit.sourceforge.net

Dort kannst du auch die aktuellste Version aus dem CVS laden^^

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Alibi

Registriert seit: 15. Aug 2003
Ort: Bispingen
94 Beiträge
 
Delphi 7 Personal
 
#9

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 14:27
Also hier funktioniert das Ding, auch SynEdit 1.04. Siehe Freewaresparte -> BrainFuckIDE.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
  Mit Zitat antworten Zitat
MikeC

Registriert seit: 30. Dez 2003
Ort: Home sweet home
11 Beiträge
 
#10

Re: Frage zu SyntaxHighlighting & Grammarfile

  Alt 30. Dez 2003, 14:41
Ich weiß nicht woran es lag, aber ich habe jetzt auf jeden fall mal ein GrammarFile, das so halbwegs macht, was ich will. Das ganze sieht so aus

Code:
TSynTHXHighlighter  {first Identifier is considered to be the Class Name }
tk             {second Identifier is considered to be the Identifier Prefix }
Sensitive '+','-','[',']','.',',',';','{','}',')','(','0'..'9'::
IdentStart '_', 'a'..'z', 'A'..'Z':: '_', 'a'..'z', 'A'..'Z'::

TOKENTYPES
Identifier Foreground=clBlack
IncFile Foreground=clRed
Symbol ForeGround=clRed
Key Style=[fsBold]|Foreground=clBlue
Comment Foreground=clNavy|Background=clAqua|Style=[fsBold, fsItalic]
String Foreground=clTeal
Number Foreground=clPurple|Style=[fsBold]
|><|

KEYS
new
for
int
up
low
array
of
Export
|><|

KEYS Symbol
+
-
.
,
[
]
>
<
(
)
{
}
].
);
;
|><|

KEYS Number
0
1
2
3
4
5
6
7
8
9
|><|

CHARS

'+','-','[',']','.',',',';','{','}','(',')','0'..'9':: Ident
BeginProc
  fTokenID := IdentKind((fLine + Run));
  inc(Run, fStringLen);
  while Identifiers[fLine[Run]] do
    Inc(Run);
EndProc

|><|

ENCLOSEDBY

IncFile,IncFile,<,>
Comment,CStyleComment,/*,*/,Multiline
Comment,BraceComment,\,\,Multiline
String,String,","
|><|
Allerdings gibt es noch ein paar sachen, die mir nicht gefallen: Die KEywords werden nicht blau geschrieben, die Zahlen werden nur dann in clPurple geschrieben, wenn sie einzeln stehen und wenn eine Zahl in eckigen Klammern steht (also so wie bei nem Delphi-Array) werden die Klammern und die Zahl schwarz geschrieben. Wie kann ich das beheben?
Yesterday it worked, today it doesn't work - Windows is like that!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz