Hallo,
welcher Aufwand steht denn dahinter einen neuen Syntaxhighlighter hinzu
zufügen?
Ich habe gerade angefangen einen Verilog Artikel zu schreiben und
nutze für die Beispiel den Syntaxhighlighter von C. Leider passt der
nicht immer und es währe schön einen für Verilog zu haben.
Dann würde mich auch interessieren wie die automatische Verlinkung auf
Artikel funktioniert? So wird z.B. das Wort VHDL automatisch verlinkt.
Das Wort Verilog aber nicht. (Oben habe ich den Link per Hand
eingefügt).
Gruß,
Günter
Günter .. wrote:
> welcher Aufwand steht denn dahinter einen neuen Syntaxhighlighter hinzu> zufügen?
Das Wiki verwendet GeSHi (http://qbnz.com/highlighter/), eine von GeSHi
unterstütze Sprache hinzuzufügen ist kein Problem. Verilog wird aber
leider noch nicht unterstützt.
> Ich habe gerade angefangen einen Verilog Artikel zu schreiben
Sehr gut!
> Dann würde mich auch interessieren wie die automatische Verlinkung auf> Artikel funktioniert? So wird z.B. das Wort VHDL automatisch verlinkt.> Das Wort Verilog aber nicht. (Oben habe ich den Link per Hand> eingefügt).
Jetzt wird auch Verilog verlinkt.
Andreas Schwarz wrote:
> Günter .. wrote:>> welcher Aufwand steht denn dahinter einen neuen Syntaxhighlighter hinzu>> zufügen?>> Das Wiki verwendet GeSHi (http://qbnz.com/highlighter/), eine von GeSHi> unterstütze Sprache hinzuzufügen ist kein Problem. Verilog wird aber> leider noch nicht unterstützt.>
Danke für die Information. Ich hab mich mal hingesetzt und basierend auf
bestehende Syntaxhighlighter einen für Verilog geschrieben.
Er ist noch nicht perfekt in Bezug auf regular expression. Bei Verilog
gibt es Zahlenspezifikationen in der Form 4'b0010xz. Um das zu erkennen
werde ich noch ein wenig mehr die Dokumentation durchstöbern müssen.
Auf jeden Fall erkennt der angehängte Highlighter die Verilog
Schlüsselwörter, Kommentare, Zahlen, Operatoren, System Tasks/Funktionen
und Makros.
Getestet habe ich das ganze mit einem simplen Script das auf der GeSHi
Webseite gezeigt ist. Anfangs habe ich einige Warnungen erhalten weil
einige arrays nicht gefüllt waren, bei dem angehängten Skript ist das
aber alles behoben.
Zum Testen habe ich die SVN-Version von GeSHi runtergeladen. Da sind nun
zwei Verzeichnisse, einmal geshi-1.0.X und einmal geshi-src. Ich habe
den Syntaxhighlighter für gehsi-1.0.X geschrieben. Ich vermute mal das
ist auch die Version die du nutzt?
Vielleicht kannst du das mit einbinden?
Ich werde noch versuchen die regular expression zum Laufen zu bringen
und dann auch das Skript dem GeSHi Projekt zur Verfügung stellen.
Gruß,
Günter
Ich finde bei geshi keine AVR-Syntax, ist das hier vorhanden? mal
probieren
1
.MACRO smac32
2
muls coefh,datah ; Signed multiply, coefficient high byte and data high byte
3
add accu2,MltLo ; Add low byte of result to accumulator byte 2
4
adc accu3,MltHi ; Add with carry high byte of result to accumulator byte 3
5
mul coefl,datal ; Unsigned multiply, coefficient low byte and data low byte
6
add accu0,MltLo ; Add low byte of result to accumulator byte 0
7
adc accu1,MltHi ; Add with carry high byte of result to accumulator byte 1
8
adc accu2,Zero ; Add carry to accumulator byte 2
9
adc accu3,Zero ; Add carry to accumulator byte 3
10
mulsu coefh,datal ; Signed-unsigned multiply, coefficient high byte and data low byte
11
sbc accu3,Zero ; Sign extention
aha
Kommentare erkennt es, aber keine Mnemonics
zum Editor Cream/vim habe ich eine AVR.vim gefunden, der kennt auch VHDL
und Verilog, auch Scilab, aber kein Octave
Günter: Danke, hab es installiert. Funktioniert einwandfrei.
Christoph: Das Forum nutzt eine andere Software für das Syntax
Highlighting als das Wiki. Ich möchte das irgendwann mal beides zusammen
auf highlight (http://www.andre-simon.de/) umstellen.
Christoph Kessler wrote:
> Die ersten beiden Seiten sind das Syntax-File für Verilog auf VIM,> vielleicht hilfts was für die Erstellung des geshi-Files
Ja, auf die Datei habe ich mich auch gestützt wie ich das geshi-File
erzeugt habe. Eigentlich sollte ich da noch mal reinschauen, denn da
muss ja auch das Problem mit den Zahlen irgendwie gelöst sein.
In dem Verilog-File gibt es da einen KEYWORDS-Bereich. Der ist
Unterteilt in 4 Gruppen. Jeder Gruppe kann man dann im STYLES-Bereich
eine Farbe zuordnen.
So ist das eigentlich ziemlich einfach eine neue Sprache einzubinden.
Andreas Schwarz wrote:
> Günter: Danke, hab es installiert. Funktioniert einwandfrei.
Das ist gut. Verstehe ich das richtig das der Highlighter jetzt nur für
den Wiki funktioniert, aber nicht für das Forum?
Eine Sache die mir aufgefallen ist. Im Wiki scheinen weniger Farben
genutzt werden als eigentlich im geshi-File spezifiziert sind?
Z.B. habe ich den Verilog-Code:
Was eigentlich sein sollte ist das '=' und '~' in einer andere Farbe
erscheinen sollten. Strings sollten eigentlich Magenta sein, werden aber
im Wiki nur schwarz dargestellt.
OK, Hier noch mal eine neue Version des Verilog Highlighters.
Hinzugekommen sind jetzt noch zwei regular expression. Eins davon sucht
nach Zahlen der Form 4'b00xz und das Zweite ist für Zeiten der
'timescale-Direktive zuständig. Dann habe ich noch weitere Macro-Wörter
hinzugefügt.
Die Version werde ich jetzt auch dem GeSHi-Projekt senden.