![]() |
Regular Expressions & Verilog NetzListe
ich muss den Inhalt einer Verilog Netzliste analysieren, und möchte ( muss) unser existierendes SoftwareModul zum Einlesen der Informationen vereinfachen & flexibler gestallten.
Helfen mir REGULAR EXPRESSIONS bei dieser Aufgabe, ich sehe den Weg hier noch nicht .... ????? Folgende Beispieldatei mit einigen Bauelementen:
Delphi-Quellcode:
Info zu Verilog ( )// BIPOLAR PNP module NPN (B,E,C); input B,E; Output c; endmodule // BIPOLAR NPN module NPN (B,E,C); input B,E,C; endmodule // // CMOS NMOS // noch eine weitere Zeile mit Kommentaren // module NMOS (S,D,G); input S; Output D; Inout G; endmodule // CMOS PMOS module PMOS (S,D,G); input S,D,G; endmodule ![]() Ein Modul wird in meinem Anwendungsfall über einen KommentarBlock am Anfang ( Anzahl der Zeilen flexibel ) beschrieben um Anschluss kommen die Verilog Schlüsselwörter module und endmodule, Die Pins und weitere Informationen stehen im TextBlock dazwischen. |
AW: Regular Expressions & Verilog NetzListe
Den Weg mit RE sehe ich hier auch nicht, aber mit einem Parser kommst du da weiter
|
AW: Regular Expressions & Verilog NetzListe
Spielt Groß-/Kleinschreibung eine Rolle? Scheinbar nicht so wirklich.
Wird der Kommentar benötigt? Korreliert er mit dem Wort nach module bzw wäre das hinreichend(Kommentar weglassen)? Im ersten Fall gibt es ein mismatch. Copy/Paste Fehler? Was bedeutet analysieren? Zählen? ... ? Was kommt sonst noch zwischen module und endmodule? Ich mag ja SQL. Wahrscheinlich würde ich es in eine Tabelle einlesen -Kommentar, Leerzeilen auslassen -Wort nach module als (mehrfach)Key -ggF. (innere) Sequenz Spalte zur Sortierung
Code:
Dann mit SQL "analysieren"
|key|sort|content |
===================== |NPN |1|(B,E,C); | |NPN |2|input B,E; | |NPN |3|Output c; | |NPN |1|(B,E,C); | |NPN |2|input B,E,C;| |NMOS|1|... | |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz