Auto Syntax Check

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Auto Syntax Check

Beitrag von RSBasic »

Hallo :)

Meine 50. Anwendung. :D

Ich habe ein Werkzeug für PureBasic und SpiderBasic entwickelt.
In Visual Studio und in anderen Entwicklungsumgebungen kennt man die automatische Syntax-Überprüfung gut, die sehr nützlich ist, so dass man nicht immer die Taste F5 drücken muss, ob Syntax-Fehler existieren.
Dieses Programm überprüft gespeicherte und ungespeicherte Quellcodes in Echtzeit auf Syntax-Fehler.
Aus technischen Gründen kann immer nur ein Fehler ermittelt werden.

Noch eine wichtige Information, wie der jeweilige aktuelle Quellcode je nach Art ermittelt wird.
Es gibt 5 Arten einer PB-Datei:
  • Nicht erstellte PB-Datei: Aktueller ungespeicherter Quellcode wird auf Syntax-Fehlern überprüft.
  • Erstellte PB-Datei ohne Projekt: Aktueller gespeicherter oder ungespeicherter Quellcode wird auf Syntax-Fehlern überprüft.
  • Erstellte Include-Datei einer erstellten Haupt-PB-Datei ohne Projekt, wenn die Compiler-Einstellung "Haupt-Quellcode" gesetzt ist: Gespeicherter Quellcode der Haupt-PB-Datei wird auf Syntax-Fehlern überprüft. Das ist beim manuellen Syntax-Check über das Menü "Compiler" genauso.
  • Projektinformationsseite: Gespeicherter Eingabe-Quellcode des Standard-Ziels wird auf Syntax-Fehlern überprüft. Das ist beim manuellen Syntax-Check über das Menü "Compiler" genauso.
  • PB-Datei eines Projektes: Gespeicherter Eingabe-Quellcode des Standard-Ziels wird auf Syntax-Fehlern überprüft. Das ist beim manuellen Syntax-Check über das Menü "Compiler" genauso.
Screenshot:
Bild

Installation:
Bild

Voraussetzungen:
Die Einstellung "Vollständigen Quellcode-Pfad in der Titelzeile anzeigen" muss aktiviert sein, weil ich keine andere Möglichkeit habe, den Pfad zur PB-Datei zu ermitteln.

Download: https://www.rsbasic.de/downloads/downlo ... _Check.zip
Bild

Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Danke :)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von NicTheQuick »

Mein Verbesserungsvorschläge wäre eine Linuxversion. :mrgreen:
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von RSBasic »

Würde ich gern machen, aber 1. kenne ich mich mit GTK bzw. QT nicht aus, 2. ist es für mich deutlich aufwendiger, für Linux mit API umzusetzen und vorallem langfristig weiterhin mit weiteren Versionen zu unterstützen. Es ist dann immer eine doppelte Arbeit.
Ich habe in der Vergangenheit 2x versucht, eine Anwendung nach Linux zu portieren, aber bei beiden gescheitert. Die letzte Anwendung war soweit ich weiß MyNotes und damals gab es einen scheiß Bug in Ubuntu, dass das Hinzufügen eines Systray-Icons überhaupt nicht ging.
Wenn es eine Anwendung ohne API wäre, dann wäre das kein Problem.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von DePe »

Ich habe es kurz getestet.
Aber es erscheint sofort ein Syntax Fehler wegen einem nicht gefundenen Modul. Und man kann die Log-Ausgabe nicht kopieren, bzw. kopiert die originale vom Hintergrund.

[..] Auto Syntax Check has detected an error.
[..] Line 38 - Module not found: Waveform.

Es gibt aber keinen Syntax-Fehler, hier die Ausgabe wenn man das versteckte Log kopiert:

[..] [COMPILER] Syntax check finished (46233 lines)

Edit: Das war ein Test mit einem Projekt, keiner Einzeldatei.

Peter
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von RSBasic »

Ich versuche mal, ein Beispielcode zu schreiben, um damit nachzustellen.
Falls du einen reduzierten Beispielcode hast, wäre es hilfreich. :)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von DePe »

Sorry, es ist eine Struktur die sich auf ein anderes Modul bezieht:

Code: Alles auswählen

	Structure uSaveWaveform
		...
		*uData.Waveform::uData
		...
	EndStructure
Und die Module werden in einem anderen Modul inkludiert. Es gibt also in dem Modul mit dem Syntax-Fehler, kein 'XIncludeFile' auf das Waveform-Modul.

Edit: Auch 'UseModule ...' wird als Syntax-Fehler angezeigt. Das Modul ist ebenfalls nicht im selben Modul inkludiert.
Edit2: Und das Tool beendet sich nicht wenn PB geschlossen wird, sondern gibt bei mir im Sekundentakt Warntöne aus.

Peter
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von RSBasic »

DePe hat geschrieben:Edit2: Und das Tool beendet sich nicht wenn PB geschlossen wird
Die WinAPI-Funktion OpenProcess_() ist unzuverlässig. Ich benutze jetzt CreateToolhelp32Snapshot_(), um zu ermitteln, ob PB noch läuft.
Das funktioniert deutlich besser. Ist in der nächsten Version drin.

Bezüglich UseModule im anderen Modul inkludiert: Hättest du Zeit, mir einen Beispielcode zu schreiben?
Danke im Voraus
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von DePe »

Der Code ist sinnlos, aber wenn du in das Modul 'Test-AutoSyntaxCheck-WindowStart' gehst, bekommst du den UseModule Syntax-Fehler. Und im Modul 'Test-AutoSyntaxCheck' ist der Fehler:
[...] Line 3 - File not found (T:\TEMP\... - E:\...)
Es wird im temporären Verzeichnis nach der ...Common-Datei gesucht.

Edit2: Link gelöscht, wird nicht mehr benötigt.
Edit: Ich habe die ZIP-Datei aktualisiert, man kann das Programm jetzt auch ausführen.

Es sind drei Dateien mit Projektdatei.

Peter
Zuletzt geändert von DePe am 30.05.2019 07:09, insgesamt 5-mal geändert.
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Auto Syntax Check

Beitrag von Bisonte »

Mal ungeniert gefragt :

Wo ist der Unterschied zwischen deinem Tool und dem Syntax Check der IDE im Compilermenu ?
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Auto Syntax Check

Beitrag von RSBasic »

@DePe
Danke für das Beispiel, mit dem ich nachstellen kann. Mit Projektdateien habe ich noch nicht getestet. Das muss ich noch unterstützen.

@Bisonte
Der Unterschied und gleichzeitig der Vorteil ist, dass du nicht immer manuell eine Taste oder Tastenkombination oder Mausklick drücken muss, um die Syntax zu prüfen.
Man kennt es z.B. in Visual Studio sehr gut. Dort werden auch in Echtzeit Sytax-Fehler angezeigt, ohne dass man das Projekt kompilieren muss, um es zu testen. Wenn man beispielsweise vergessen hat, eine Variable zu definieren, dann sieht man es im Statusfenster sofort und man kann darauf sofort reagieren und die Variable definieren, bevor man das eigene Programm startet.
Es ist also nur eine Automatisierung dieser Check-Funktion.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten