Deutsch
SDK-Helfer/ Tools

neuer Präkompiler für XProfan X4 - JRPC3

 

Jens-Arne
Reumschüssel
Guten Abend zusammen,

ich bin kürzlich über das Problem gestolpert, dass XPSE eine ziemlich große Quelldatei von mir nicht mehr verarbeiten konnte. Variablen wurden plötzlich als nicht definiert gemeldet und andere "erratische" Probleme mehr. Ich könnte mir vorstellen, dass dies daran liegt, dass XPSE Schlüsselworte in Windows-Atoms verwaltet. Da ist irgendwann Schluss (bei irgendwas zwischen 60.000 und 70.000 Stück, wobei man bedenken muss, dass XPSE die Windows-API mit vorhält). Vielleicht ist es aber auch etwas ganz anderes, ich kann ja nicht in den "Maschinenraum" von XPSE schauen.

Jedenfalls blieb mir, da XPSE nicht mehr gepflegt wird, nichts anderes übrig, als das nachzubauen. Das Ergebnis ist JRPC3.

----- Features:

*vernünftige Meldung von Fehlern:
-die Datei, in der der Fehler auftrat, wird angezeigt (z.B. eine INC-Datei)
-es wird immer die Zeilennummer des Moduls ausgegeben, in dem der Fehler auftrat (also z.B. die Zeilennummer innerhalb einer INC-Datei), und nicht die reichlich nutzlose Zeilennummer der Ergebnisdatei
-bei allen Fehlern, insbesondere Sektionsfehlern (z.B. if, endif, endif), werden verständliche Meldungen ausgegeben, und zwar so nah wie möglich am Punkt im Quellcode, wo der Fehler zu verorten ist
-die Zeile, in der ein Fehler auftrat, kann direkt in XProfEd angezeigt werden, sofern der von mir aufgebohrte XProfEd verwendet wird (siehe unten)

*direkte Anzeige des Programmablaufes in XProfEd (sofern der unten erhältliche aufgebohrte XProfEd verwendet wird):
-{$XTRACE ON[,Verzögerung]} bewirkt, dass jede folgende Zeile direkt während des Programmablaufes in XProfEd angezeigt wird (der optionale Parameter <Verzögerung> stellt eine Pause zwischen den Zeilen in Millisekunden ein)
-{$XTRACE OFF} schaltet die Ablaufverfolgung wieder ab
-dies ist extrem nützlich, um herauszufinden, wo genau ein getestetes Programm abstürzt

*neue Kompilerdirektiven {$TRACEVAR ...} zur Echtzeitverfolgung von Variableninhalten, siehe Menü Hilfe --> Anleitung anzeigen (neuer XProfEd_JR unten für hervorgehobene Anzeige der Direktiven)

*neue Kompilerdirektiven für Zeitmessungen, siehe Menü Hilfe --> Anleitung anzeigen (neuer XProfEd_JR unten für hervorgehobene Anzeige der Direktiven)

*Kompilerdirektiven funktionieren endlich vernünftig
-Verschachtelung wird berücksichtigt (in XPSE und auch XProfan ist Verschachtelung zwar möglich, aber innerhalb von $IFDEF DASHIER wird $DEFINE DIESHIER auch dann definiert, wenn DASHIER nicht definiert ist - das ist in JRPC3 anders)

*ein mit JRPC3 gestartetes Programm (interpretiert, .prc gestartet, .exe gestartet) kann mit einem Tastendruck aus JRPC3 heraus gekillt werden - dies ist sehr hilfreich, wenn ein getestetes Programm mal wieder hängenbleibt und normalerweise nur mittels des Taskmanagers beendet werden kann

*extrem schnell (und daher natürlich nicht in XProfan geschrieben, da eine interpretierte Sprache hierfür naturgemäß viel zu langsam ist)

*beim Start von JRPC3 bereits vorhandene .prc-Dateien können zum Starten und Linken genutzt werden (es wird ein Hinweis angezeigt, dass es sich um ein altes Kompilat handelt)

*eingebauter Update-Checker mit Download, falls es ein Update gibt (Hilfe --> online nach Updates suchen)

*64- oder 32-bit-Version verfügbar (einfach JRPC3_64.exe oder JRPC_32.exe als Interpreter in XProfEd hinterlegen [Optionen --> Allgemeine Einstellungen] und JRPC3 mit F7 starten)

*XProfan X4-Syntax verfügbar (möglicherweise noch nicht alles, da ich vermutlich nicht alles davon benutze, aber ich habe mich um Vollständigkeit bemüht - jedenfalls sind z.B. HASH-Arrays und QUADINTs dabei)

*Interpreter, PRCs und EXEs können mit Kommandozeilenparametern ausgeführt werden

*Achtung: Variablen, die in einer Prozedur nicht deklariert sind, sondern "aus dem Hauptprogramm oder der aufrufenden Prozedur übernommen werden", sind nicht zugelassen (XProfan erlaubt das, aber so etwas ist genauso tödlich wie GOTO-Anweisungen). Bitte alle zu nutzenden Inputs als Parameter übergeben, und wenn etwas aus dem aufrufenden Programmteil verändert werden muss, beim Aufruf als Parameter z.B. @addr(x&) verwenden und in der Prozedur parameters x# und LONG x#,0=y& nutzen.

*fast alles aus XPSE funktioniert auch in JRPC3 ({$NOERR}, {$(PRE)BATCH}, {$PUSHKEYWORD}, Interpreter, Runtime und Compiler festlegen, Shorties, ...)

Einschränkungen:
-keine nPROCs
-kein Inline-Assembler
-ABER: man kann XPSE aus JRPC3 heraus aufrufen, sodass diese Funktionalitäten weiterhin verfügbar sind, sofern man XPSE besitzt (neuer Shorty: {$x})
-@external(...)-Aufrufe werden, anders als in XPSE, nicht in @call(...)-Aufrufe umgesetzt - diese sind zwar schneller, aber dann lassen sich Prozeduren nicht mehr als Prozesse aufrufen, wenn darin @external(...)-Aufrufe verwendet werden, weil die im Hauptprogramm definierten @call(...)-Adressen dann im Speichernirvana enden

*als Hommage an XPSE lautet die Endung der Ausgabedatei ".enh3"

----- /Features

JRPC3 kann unten heruntergeladen werden (setup_jrpc3.exe).
Als Installationsverzeichnis bitte das XProfan-Stammverzeichnis angeben.

Wenn man das Feature nutzen möchte, die Zeile, in der ein Fehler auftrat, direkt in XProfEd anzeigen zu können, ist der unten verfügbare XProfEd_JR erforderlich. Als "goody" gibt es dazu, dass beim Auf- und Zufalten von Programmen ein Fortschrittsanzeiger integriert ist (das kann bei großen Programmen ja bekanntlich ein bisschen dauern).

Alle Befehle sind mit dem Befehl "h" wie "Hilfe" abrufbar und sollten selbsterklärend sein.

Es ist bestimmt so, dass noch lange nicht alles perfekt funktioniert. Meine  Programme lassen sich umsetzen, aber das muss noch lange nicht heißen, dass dies mit Programmen anderer Autoren auch funktioniert, die jeder so ihre Eigenheiten haben. Ich weiß nicht einmal, ob es überhaupt (noch) Bedarf für diesen Präkompiler gibt. Falls jemand daran Interesse hat, wollte ich ihn hier trotzdem nicht vorenthalten.

Fehlermeldungen und Verbesserungsvorschläge gerne an jreumsc@web.de.

Beste Grüße, Jens-Arne

1.217 kB
Bezeichnung:JRPC3
Version:1.42a
Kurzbeschreibung: JRPC3-Installer
Hochgeladen: vor 21 Tagen
Ladeanzahl12
Herunterladen
1.717 kB
Bezeichnung:XProfEd_JR
Version:5.1
Kurzbeschreibung: aufgebohrter XProfEd, um die Programmzeile von Fehlern, die JRPC3 findet, anzeigen zu können
Hochgeladen: vor 21 Tagen
Ladeanzahl12
Herunterladen
 
XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher
PM: jreumsc@web.de
vor 21 Tagen  
 




p.specht
Unglaublich! Wird sofort ausprobiert!
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen...
vor 21 Tagen  
 




Jens-Arne
Reumschüssel
Der nervige Fehler im Installer ist behoben, der einem immer ein weiteres Verzeichnis zur Installation untergeschoben hat. Die Installation muss tatsächlich im XProfan-Stammverzeichnis erfolgen, nicht in ein Unterverzeichnis dazu.
 
XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher
PM: jreumsc@web.de
vor 20 Tagen  
 




Georg
Teles
Das teste ich auch gleich
 
XProfan X2
TC-Programming [...] 
XProfan 10.0 - XProfan X2 - XProfan X3 - XProfan X4
vor 15 Tagen  
 




Jens-Arne
Reumschüssel
Guten Abend,

ich habe eine neue Direktive hinzugefügt: {$XTRACE ...}.

Damit kann direkt in XProfEd der Ablauf des Programmes verfolgt werden, siehe Erklärung oben und in der Anleitungsdatei. Dies ist extrem nützlich, um herauszufinden, wo genau ein getestetes Programm abstürzt.

Es ist oben auch ein neuer XProfEd erhältlich, der diese Direktive farblich hervorhebt.

Beste Grüße, Jens-Arne
 
XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher
PM: jreumsc@web.de
Vorgestern (20:55)  
 




p.specht
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen...
Gestern (13:42)  
 




Jens-Arne
Reumschüssel
Hallo nochmal,

es gibt jetzt eine neue Direktive {$TRACEVAR ...}. Damit kann man Variableninhalte in Echtzeit verfolgen. Bitte die mitinstallierte Anleitung lesen, neue Installationsdatei siehe oben. Wie immer gibt es auch einen neuen XProfEd_JR, der die Direktive im Quelltext hervorhebt.

Da das Feature ziemlich kompliziert umzusetzen ist, bitte ich darum, bei Fehlern gnädig zu sein und mir eine Email zu schicken (jreumsc@web.de).

Beste Grüße, Jens-Arne
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher
PM: jreumsc@web.de
Gestern (20:59)  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

244 Betrachtungen

Unbenanntvor 0 min.
Jürgen Strahlvor 116 min.
RudiB.Heute (00:55)
Jens-Arne ReumschüsselGestern (21:02)
E.T.Gestern (17:41)
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie