![]() |
Code formatieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
wir setzen in unserer Firma eine eigene Scripting-Language ein. Für diese Scripting-Language habe ich eine IDE geschrieben. Was mir jetzt noch fehlt ist ein Code-Fomatter in Form von DelForEx oder Jedi Code Formatter. Leider habe ich keine Ahnung wo ich da ansetzen soll. Hat jemand eine Idee oder Erfahrung wie man so etwas angeht. hier mal so ein Code-Auszug aus der Language
Delphi-Quellcode:
Uses ("..\Lib\Util.csl")
[b]Vorher:[/b] /*-----------------------------------------------------------------------------------------*\ Detect () Result : Detect Access \*-----------------------------------------------------------------------------------------*/ Function Main (bValidate As Bool, uText As DynStruct) As Bool Dim bRet As Bool = CheckDetect () Dim lsInfo As List Of String = RestoreMessage () // Version und Application konnten nicht initialisiert werden Util-Function // Meldung wird in Util generiert (RestoreMessage). Detect im Restore-Modus // sind die Version differnt so benötigt das Module ein Mapfile. Ist dieses // nicht vorhanden so ist kein Restore möglich. If ((Not cpStoring) And (Not bRet)) uText.Title = lsInfo [1] uText.Description = lsInfo [2] EndIf Return (bRet) EndFunction [b]Nachher:[/b] Uses ("..\Lib\Util.csl") /*-----------------------------------------------------------------------------------------*\ Detect () Result : Detect Access \*-----------------------------------------------------------------------------------------*/ Function Main (bValidate As Bool, uText As DynStruct) As Bool Dim bRet As Bool = CheckDetect () Dim lsInfo As List Of String = RestoreMessage () // Version und Application konnten nicht initialisiert werden Util-Function // Meldung wird in Util generiert (RestoreMessage). Detect im Restore-Modus // sind die Version differnt so benötigt das Module ein Mapfile. Ist dieses // nicht vorhanden so ist kein Restore möglich. If ((Not cpStoring) And (Not bRet)) uText.Title = lsInfo [1] uText.Description = lsInfo [2] EndIf Return (bRet) EndFunction |
Re: Code formatieren
Ihr werdet da doch sicher einen Tokenzieher haben. da einfach nach bestimmten Tokens alle Token wie Zeilenumbrüche entfernen und durch die gewünschten ersetzen und fertig
|
Re: Code formatieren
Hi,
i.d.R. geht man das in mehreren Stufen an. Die erste besteht im scannen des Dokuments durch einen Scanner. Das ist das, was arbu man schon sagte, du erzeugst hier einfach Token. Dies Token kannst du dann einfach weiter reichen an einen Parser. Dieser erkennt dann einfach die Art der Token und kann die dann schon mal interpretieren (also wann beginnt etwas und wo wird es beendet). In der nächsten Stufe wird häufig ein Erbauer-Muster verwendet. Es bietet sich an, dass du hier einfache ein Baumartige Struktur erzeugst. Diese musst du dann nur noch (den Bedürfnissen der Formatierung) als String wieder ausgeben. Hier kannst du dann den Benutzer seine Einstellungen wählen lassen. Gruß Der Unwissende |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 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-2025 by Thomas Breitkreuz