Aktuelle Zeit: 13.07.2020 01:50

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 35 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: Auto Syntax Check
BeitragVerfasst: 29.05.2019 17:00 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
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: http://www.rsbasic.de/downloads/downloa ... _Check.zip
Bild

Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Danke :)

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 17:56 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Mein Verbesserungsvorschläge wäre eine Linuxversion. :mrgreen:

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 18:19 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
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.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 18:30 
Offline

Registriert: 26.11.2017 16:17
Wohnort: Wien
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 18:36 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Ich versuche mal, ein Beispielcode zu schreiben, um damit nachzustellen.
Falls du einen reduzierten Beispielcode hast, wäre es hilfreich. :)

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 18:41 
Offline

Registriert: 26.11.2017 16:17
Wohnort: Wien
Sorry, es ist eine Struktur die sich auf ein anderes Modul bezieht:
Code:
   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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 19:48 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
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

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 20:15 
Offline

Registriert: 26.11.2017 16:17
Wohnort: Wien
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.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 20:50 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Mal ungeniert gefragt :

Wo ist der Unterschied zwischen deinem Tool und dem Syntax Check der IDE im Compilermenu ?

_________________
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 32GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Auto Syntax Check
BeitragVerfasst: 29.05.2019 20:57 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
@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.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 35 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye