Seite 1 von 1

Wer weis wofür das gut ist ...

Verfasst: Do 15. Jun 2017, 16:18
von PIC18F2550
ich mal hier kurz abkippen do kein Speicher zur Hand :(

Code: Alles auswählen

PreePro 0.0 by PIC18F2550
Compile Date: 06-15-2017
0            open: main.spin              <UTF8>
1            open: iodat.spin             <ASCII>
2            open: inidat.spin            <ASCII>
3            Ready
press key to exit.
>                                                 

Re: Wer weis wofür das gut ist ...

Verfasst: Do 15. Jun 2017, 16:34
von yeti
...und wenn wir bis zur Sommersonnenwende⁽¹⁾ brav sind, erfahren wir auch, was das ist?

——————————
(1): 2017-06-21 06:24 MESZ

Re: Wer weis wofür das gut ist ...

Verfasst: Do 15. Jun 2017, 16:39
von PIC18F2550
Es ist nicht fertig :)

Es ist ein Fragment für ein Parser der über #Include, OBJ, {{}} und #define sich durch das Spin-netzwerkhangelt und immer wenn ein #Include, OBJ oder #define hinzukommt neu von vorn Anfängt.
Beendet wird wenn keine neuen Elemente gefunden werden.

Wenn alles gefunden werden die {{}} aufgelöst und die #includes in die Spin Dateien eingefügt.

Das sollte reichen.

Die Konstanten sollen Später auch aufgelöst werden so das im SPIN keine mehr gibt.

Re: Wer weis wofür das gut ist ...

Verfasst: Do 15. Jun 2017, 16:42
von yeti
...ist das für...

Code: Alles auswählen

(yeti@kumari:2)~$ vbnc2 
Visual Basic.Net Compiler version 0.0.0.5943 (Mono 3.8 - tarball)
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.

vbnc : Command line : error VBNC2011: No files to compile! Cannot do anything!
Compilation took 00:00:00.1711820
...gedacht?

Re: Wer weis wofür das gut ist ...

Verfasst: Do 15. Jun 2017, 16:46
von PIC18F2550
nee das wird damit viel zu groß
Bis jetzt sind das erst ein mal 67k mit allem drum herum. ( was es nicht geben wird da nur eine Datei )

Das läuft unter win und Linux ohne mono.

Re: Wer weis wofür das gut ist ...

Verfasst: Do 15. Jun 2017, 16:49
von yeti
Na dann laß ich mich mal überraschen... schließlich ist's ja noch nicht Sommersonennwende... o:-)

Re: Wer weis wofür das gut ist ...

Verfasst: Mo 19. Jun 2017, 13:12
von PIC18F2550

Code: Alles auswählen

C:\EP\AXL\A\FBAS\FreeBASIC-1.05.0-win64>prepro.exe main.spin
PreePro 0.0 by PIC18F2550
Compile Date: 06-19-2017
Pass :  1
              open: main.spin             obj            <UTF8>
              open: iodat.spin            obj            <ASCII>
              open: inidat.spin           inc            <ASCII>
Pass :  2
              open: main.spin             obj            <UTF8>
              open: iodat.spin            obj            <ASCII>
              open: inidat.spin           inc            <ASCII>
Ready
press key to exit.
>

Re: Wer weis wofür das gut ist ...

Verfasst: Di 20. Jun 2017, 16:40
von PIC18F2550
Was ist schon drin.

Leerzeilen werden entfernt

' - Anhängiger Kommentar einzeilig wird entfernt

Alle Kommandos müssen in der 1. Spalte stehen.

{{ - Beginn eines Kommentares wird entfernt
}} - Ende eines Kommentares

#include Datei.dat - fügt eine Datei an dieser Position ein.


#define Definition - Name vom Definition

#ifdef Definition - Start Definitionsblock wenn definiert
#ifndef Definition - Start Definitionsblock wenn nicht definiert

#enddef Definition - Ende Definitionsblock

Groß oder Kleinschreibung wird nicht unterschieden
Es wird die Datei Codierung festgestellt ASCII / UTF-8

was noch offen ist:

#tab 4 - Festlegung wie ein Tabulator in Leerzeichen umgesetzt werden muß.

Umwandlung von UTF-8 nach ASCII.

Die codierung UTF-16... Und UTF-32 werden vorerst nicht unterstützt.

Re: Wer weis wofür das gut ist ...

Verfasst: Mi 21. Jun 2017, 10:42
von PIC18F2550
Das Ausgabe Verzeichnis mit den bereinigten Quelltexten ist jetzt hinzu gekommen.

ich habe mal beide Inhalte zum vergleich angehangen.

Test eines etwas größeren Projektes.

Code: Alles auswählen

PreePro 0.0 by PIC18F2550
Compile Date: 21.06.2017 Time : 14:51:34
Pass :  1
              open: main.spin                         obj            <ASCII>
              open: io.spin                           obj            <ASCII>
              open: qz80.spin                         obj            <ASCII>
              open: fatfs.spin                        obj            <ASCII>
              open: pcFullDuplexSerial2FC.spin        obj            <ASCII>
              open: Keyboard.spin                     obj            <UTF-16, little endian> NICHT eingelesen!
              open: spi_warp.spin                     obj            <ASCII>
Pass :  2
              open: main.spin                         obj            <ASCII>
              open: io.spin                           obj            <ASCII>
              open: qz80.spin                         obj            <ASCII>
              open: fatfs.spin                        obj            <ASCII>
              open: pcFullDuplexSerial2FC.spin        obj            <ASCII>
              open: Keyboard.spin                     obj            <UTF-16, little endian> NICHT eingelesen!
              open: spi_warp.spin                     obj            <ASCII>
Ready
--- Defines -------------------------------------------
DRACBLADEPROP X
CPU_Z80       X
PAL
USER0_PS2_VGA X
INTERRUPTS    X
BANKED_MEM    X
COUNT_R       X
HAVE_KBD      X
HAVE_SD
HAVE_VGA_HIRES              X
HAVE_LCD      X
CHECK_CONTIG
TIMED_FLUSH   X
XMM_FUNCS     X
--- Includes / OBJ ------------------------------------
main.spin      obj
io.spin        obj
qz80.spin      obj
fatfs.spin     obj
pcFullDuplexSerial2FC.spin   obj
Keyboard.spin  obj
spi_warp.spin  obj
press key to exit.
>