www.mikrocontroller.net

Forum: www.mikrocontroller.net Verilog Syntaxhighlighter; automatische Verlinkung


Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Günter -.. (guenter)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde bei geshi keine AVR-Syntax, ist das hier vorhanden? mal 
probieren
.MACRO smac32
  muls  coefh,datah  ; Signed multiply, coefficient high byte and data high byte
  add  accu2,MltLo  ; Add low byte of result to accumulator byte 2
  adc  accu3,MltHi  ; Add with carry high byte of result to accumulator byte 3
  mul  coefl,datal  ; Unsigned multiply, coefficient low byte and data low byte
  add  accu0,MltLo  ; Add low byte of result to accumulator byte 0
  adc  accu1,MltHi  ; Add with carry high byte of result to accumulator byte 1
  adc  accu2,Zero  ; Add carry to accumulator byte 2
  adc  accu3,Zero  ; Add carry to accumulator byte 3
  mulsu  coefh,datal  ; Signed-unsigned multiply, coefficient high byte and data low byte 
  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

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die ersten beiden Seiten sind das Syntax-File für Verilog auf VIM, 
vielleicht hilfts was für die Erstellung des geshi-Files

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:
clk = ~clk;

Was bei mir folgenden HTML-Code ergibt:
clk <span style="color: #5D478B;">=</span> <span style="color: #5D478B;">~</span>clk;

Im Wiki auf der Verilog Seite ist das nur:
clk = ~clk;

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.

Autor: Günter -.. (guenter)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.