Regex zum parsen einer AWL Quelle

norustnotrust

Level-2
Beiträge
484
Reaktionspunkte
163
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich arbeite gerade an einem Parser für eine AWL Quelle und mühe mich mit dem passenden Regex ab. Folgende Fälle habe ich für einen UDT identifiziert:


Code:
   MSIZE : STRUCT     //Mould size
    TYP : INT ;    //Mould type (1=circle, 2=rectangle)
    test_dword : DWORD ;
 STEP : ARRAY  [1 .. 2 ] OF //Open/Close steps
    STRUCT 
   GEN_TXT : STRING  [254 ];    //General status information
   GEN_TXT : STRING  [254 ];

Ich möchte möglichst mit einer Regex den Varname, den Typ, die Länge (Optional) und den Kommentar rauskriegen aber ich bekomms nicht hin.
Das ist was ich bis jetzt habe, der findet aber keine Zeilen in denen keine Kommentare sind und die Länge findet er auch nicht.

Code:
\s*(?<varname>\S+)(\s+[:]\s+)(?<type>\S+)(?([[](?<length>[0-9]+).*)).*(?<remark>//.*)
 
Ich hab da mal was in meiner CSharp Bibliothek angefangen... (https://github.com/jogibear9988/DotNetSiemensPLCToolBoxLibrary)

Dort gibts ne Klasse: AWLSourceParser welche dir dann eine Liste von S7Block zurückgibt, welche dann die entsprechenden Eigenschaften haben.

Weiss aber nicht mehr was da alles ging...
 
Zurück
Oben