Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Roshl am 21. May 2004, 19:54

Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 21. May 2004, 19:54
Also ich habe gestern angefangen meine eigene Programmiersprache zubasteln, mit Compiler selbst verständlich. Der wandelt den Quellcode in nasm verträglichen Assemblercode um.
Bin schon recht weit gekommen:
-über 1000 Zeilen C-Code für den Compiler
-Datentypen Char Int Long
-Variablen von 128 Zeichen Länge
-Rechenopeationen Addieren, Subtrahieren, Multi, Divi und Potenzieren (keine Vorrangautomatik bisher)
-If Konstrukte
-While Konstrukte
-Gleichheits und Ungleichheitsoperatoren dafür
-Funktionsaufrufe und Rücksprünge

So ich baue dann grade an Pointern und an der Funkionsparameterübergabe. Falls ihr Lust habt mich ein bisschen dabei zu unterstützten, könnt ihr ja mal sagen, was ihr so für Funktionen euch bei einer Programmiersprache wünschen würdet. Soll irgendwann dann auch so verwendbar sein dass man nasm nur noch zum direkten Assembliern brauch, also fürs OS-Progging nutzbar ist. Sobald eine brauchbare Version davon existiert, stelle ich sie selbstverständlich hier her. Wie gesagt ist der 2te Tag heut;)

Thx im Vorraus
Titel: Programmiersprache/Compiler
Beitrag von: chr15 am 21. May 2004, 21:12
Also was mir ganz wichtig erscheint:
-dynamische Datentypen
-I/O- Funktionen, für Tastatur/Bildschirm, aber auch Dateien
-Rekursionen (kann auch automatisch vorhanden sein)
-relativ freie Sysntax (je freier-je schwieriger!)
-Freiheit mit Variabeln, wie in C/C++ (long int = char = bool sind legale Ausdrücke)
...

Was auch noch ganz schön wäre:
-Klassen
-vorgefertigte Stringoperationen
...
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 21. May 2004, 21:24
was sind bei dir dynamische datentypen?
dateifunktionen gehn schlecht weil die vom dateisystem usw abhängig sind
bildschirm is von der OS grundlage abhängig
was hies rekursion noch gleich?
freiheit mit variablen kommt noch, bisher müssen im selben ausdruck immer die selben typen verwendet sein
beispielsweise sieht eine Zeile zum addieren von Variablen so aus:
mAdd Var1=Var2+Var3;
mAdd zeigt an das nur Addition verwendet wird (beschleunigt nur das compilieren) die variablen müssen vorher definiert werden z.B dInt Var1=7;
Danke für die Anregungen
Titel: Programmiersprache/Compiler
Beitrag von: chr15 am 21. May 2004, 21:29
Hab mich schon gewundert, wie du schon soviel mit 1000 Zeilen implementiert hast, aber so: "Befehl operator....."
Anregung: versuche doch mal sowas wie C. mit Funktionen mit Klammern usw. und einfach a = b * c ohnen vorherigen Befehl.
Sowas wie dateien und Bildschirm kanst du ja in OS-abhängige dateien Asulagern (Header, Libraries...).
Dynamische Datentypen: Alle Dateien, die man zur laufzeit erstellt und wo man nur vorher den Pointer Deklariert. Und noch besser: C-Verktoren
Rekursionen: Selbstaufrufe
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 21. May 2004, 21:34
Das mit dem Befehl vorher ist Absichtlich so. Das dient dazu das der Compiler schneller arbeiten kann. Ausserdem, ich will kein 2tes C machen!
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 21. May 2004, 21:56
@Roshl
Hört sich gut an stellst du das ganze auch zum testen zur Verfügung wenns soweit ist
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 21. May 2004, 21:56
Ja sagte ich doch bereits*g*
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 21. May 2004, 23:08
@Roshl

Sorry wieder ma zu schnell gelesen
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 22. May 2004, 10:17
Dateioperationen, bei denen man z.B. FAT angiebt und die Datei usw. und dann ließt das System das direkt, also ohne umweg über die Betriebssystemprogramme... So wie mit Ints, denn dann könnte man auch ein System darin schreiben, ohne, dass man solche Funktionen neu schreiben muss...
Titel: Programmiersprache/Compiler
Beitrag von: kleiner am 22. May 2004, 10:28
Ich fände noch explizite Typenumwandlung sehr wichtig, ob das jetzt nach C-Syntax (int) oder wie auch immer gemacht wird. Vielleicht würde ich auch Inline-ASM reinbringen.
Wie wärs denn mit Templatefunktionen?
Und ganz besonders wichtig: Zeiger!
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 22. May 2004, 11:31
Also Dateioperationen usw haben in einer Programmiersprache nix verloren!

Das ist Sache der jeweiligen API eines Betriebssystems.
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 22. May 2004, 13:11
Also ich wäre für OOP auch wenn das sicherlich sehr schwer zu machen ist. Des weiteren könntest du ja Dateinoperationen und so in eine art Libary (die sollte man auch machen!) reinpacken dann ist es immer noch sache des users ob er die verwendet oder nicht. Was ich bei C sehr gut finde ist das jeder ausdruck einen wert hat. Das würde ich auch machen das man also
if(Var) schreiben kann anstatt if(Var > 0).
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 22. May 2004, 13:53
Dateioperationen ham wie TJ ganz richtig sagt absolut nichts in der Sprache selbst verlorn. Zeiger sind so gut wie fertig, im moment mache ich Funktionsparameter.
Bei C hat eigentlich nich jeder Ausdruck einen Wert. Wenn du if(var) schreibstkommt in assembler in etwa sowas raus:

mov eax,[var]
test var,0
je istnull:
...          ;passiert wenn var irgendwas andres als null ist
istnull:

so ähnlich, das mit tpenumwandlung ist sone sache, im Programm wird schliesslich eine feste speichermenge für jede variable festgelegt, und das zu ändern würde entweder jedesmal das programm neu strukturiern, oder eine malloc funktion brauchen die wieder OS beding ist
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 22. May 2004, 16:51
aber dann muss man die sprache auf jedes eigene system portieren und das verhindert die ausbreitung auf systeme wie MenuetOS oder BeOS... (oder unsere) außerdem muss dann jeder die gleiche API an der gleichen Stelle im SPeicher haben, um mit der Sprache ein OS zu schreiben...

auf jeden fall einen Inline-ASM und vielleicht so eine Art Header in dem man einstellen kann, ob PM oder RM oder V86 und für Dateioperationen ob FAT oder Ext/2...
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 22. May 2004, 17:30
Hm? Das mit der ausbreitung auf MenuetOS und BeOS verstehe ich nicht ganz. Warum kann mans nicht auch dorthin portieren?

Und ich denke mir, solange die portierungsarbeit nur aus so dingen wie malloc, I/O,...besteht ist es kein wirkliches Problem.
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 22. May 2004, 17:40
Es geht hier nur um die Programmiersprache selbst und den Compiler!

Für alles andere wäre eine API zuständig die dann für diese Sprache EXTRA geschrieben wird.
Titel: Programmiersprache/Compiler
Beitrag von: kleiner am 22. May 2004, 18:57
Gut wäre auch ne Aufteilung der Dateien. Also in Header und Quellcodedateien. Was ich nicht machen würde, wäre direktes Einkompilieren der Resourcen, wie es unter Windows gemacht wird.
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 22. May 2004, 19:26
Leute informiert euch mal was ne Programmiersprache eigentlich ist! Die hat nix mit dateien headern usw zutun
Man muss jede sprache erst "portieren" in c kannst du auch nichts gross anstellen wenn du keine funktionen dir schreibst, nichtmal ne simple potenz geht zu berechnen indem man a=b^c; schreibt(hab ich:P)
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 22. May 2004, 20:49
Ich dachte es gehe hier auch um die Standard-Libary
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 22. May 2004, 20:55
Nein, nur um die Sprache selbst, das ist schon kompliziert genug!
Hab jetzt übrigens das man auf die Register eax... wie"normale" Variablen verwenden kann. eax=7; also;)wird dann zu mov eax,7 wollt ich malnebenbei erwähnen
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 22. May 2004, 21:30
So ne Lowlevel-Sprache wird sicher nützlich. Also praktisch C-Assembly gemischt oder wie darf ich mir das vorstellen?
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 22. May 2004, 22:37
Ein Super-Assembler vielleicht???
Titel: Programmiersprache/Compiler
Beitrag von: mastermesh am 23. May 2004, 09:01
Zitat
Another Stupid Coder postete
So ne Lowlevel-Sprache wird sicher nützlich. Also praktisch C-Assembly gemischt oder wie darf ich mir das vorstellen?
Gibts schon. Siehe Sphinx C-- (hat sogar Ansätze von OOP).
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 23. May 2004, 09:24
Hm...sollte ich mir mal ansehen :)

Danke für den Tip
Titel: Programmiersprache/Compiler
Beitrag von: kleiner am 23. May 2004, 11:15
Also die Frage, ob ein Compiler mit Headern und Quelldateien umgehen kann ist keine Sache der Portierung, sondern eine grundlegende Sache.ü
Also ich persönlich würde den Zugriff auf Register nicht erlauben, weil man normalerweise nicht weiß, was der Compiler da rein schreibt. Deshalb finde ich die Syntax bei gcc zwar kompliziert, aber sinnvoll, weil hier die veränderten Register angegeben werden müssen und die dann entsprechend versorgt werden können.
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 23. May 2004, 15:39
Die Syntax bei gcc ist som weil da AT verwendet wird;) Es geht nicht darum ob der Compiler mit Headern kann sondern dass gewünscht wird sonstwas in den Headern mitzuliefern;) Als Lowlevelsprache brauch man den Registerzugriff aber, wenn man zum Beispiel die Segmentregister ändern will oder für Übergaben bei Interrupten. Ausserdem gibts damit lediglich die möglichkeit das zu verwenden! Wer damit das Programm zerhaut ist selbst schuld, nur ich finde je mehr möglichkeiten man hat desto besser, auch wenns damit komplizierter wird!
Und auch wenns schon sowas in der Richtung gibt, ich mach das in erster Linie für die Programmiererfahrung, die ist sicherlich immer von nutzten.
Ein Superassembler könnte man draus machen, aber das liegt dann(wie bei jeder Programmiersprache) bei der Kunst des Programmierers.
Für Befehle wie Int, die die Sprache bisher nicht kann, ist es jetzt so das man die ,in nasm syntax, in ~ eingeschlossen eingibt, das wird dann direkt so in das Compilat eingefügt, also problemloses mischen von ASM und SCPL(so heist se).
Titel: Programmiersprache/Compiler
Beitrag von: chr15 am 23. May 2004, 19:24
Das mit den registern war wahrscheilich so gemeint:
Du willst einmal totale portabilität (kein I/O......), aber legst dich auf register fest (Ein 68000 hat kein ax etc. und die meisten anderen Architekturen auch nicht. Aber wenn die Sprache nur zum OS-Dev verwendet werden soll ist das auch gut so, denke ich, da man sich auf eine maschiene festlegen kann und das IO ja erst selber machen muss....

Woführ steht eigendlich SCPL
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 25. May 2004, 19:03
Ich hab nie behauptet totale Portabilität in Bezug auf verschiedene CPU's haben zu wollen! Das bezog sich auf irgendwas anderes (frag nich was).
Gedacht ist es eigentlich bisher nur fürs OS-Dev von Grundauf, kann dann aber auch weiter zu Programmen verwendet werden, wäre kein Problem.

SCPL=Structured Chaos Programming Language;) sagt doch schon einiges;)
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 25. May 2004, 19:06
Warum geht hier eigentlich kein edit?
Wollte noch anmerken das der Compiler grade reprogrammed wird, zwecks Einfachheit der Sprache, damit fallen dann die Befehle weg. Er wäre ergo demnächst in einer ersten Version Testbereit, ich rechne Ende der Woche damit!
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 25. May 2004, 19:51
für was soll die Sprache sein? für Win oder Linux oder um ein eigenes OS zu coden? wenn sie für ein OS sein soll würde ich auf jeden fall funktionen einbauen, mit denen man Disketten Sektorweise lesen kann, denn sonst ist sie fast um sonst, denn alle wichtigen Teile muss man in ASM schreiben und dann hat sie ja keinen Vorteil mehr bei OS-Dev, dann kann man auch gleich alles in ASM schreiben..
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 25. May 2004, 20:20
Lies erstmal alle vorherigen Beiträge!
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 26. May 2004, 16:30
hab ich, was meinst du?
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 26. May 2004, 18:56
ich meine nur, dass eine sprache ohne funktionen, die nicht von einem System abhängen und trotzdem mit Hardware funktionieren nicht sehr gut für einen einsatz bei OS-Dev gut ist, denn dann kann man ja gleich alles in ASM schreiben...
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 27. May 2004, 14:47
dann tu das;) in C haste auch keine funktionen der art, und mit hardware is da garnix demzufolge wäre c ja kompletter schwachsinn fürs os-dev wenn ich deine aussage folge und diskettentreiber sind sehr wohl systemabhängig
ausser find ich es mal einfacher einfach eax=7; oder cs=3; zu schreiben als mov eax,7 oder mov ax,3 mov cs,as. aber bitte is deine wahl. Ich werde disketten lesezeug jedenfalls nicht reintun basta. Wenn überhaupt mach ich ne library dazu.
Und asm is auch ne sprache, die hat nu garnix an funktionen und wenn man sich nix selbst schreiben will is man bisl falsch
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 27. May 2004, 19:31
ok, ok, ok... du kannst ja ein Befehl wie bei TurboC machen, mit dem man Ints aufrufen kann. Oder du machst einen Befehl, wie #ASM und #!ASM um die Eingabe von Assemblerbefehlen dazwischen direkt zuzulassen. Ich meine, wenn der Code ja sowieso in ASM umgewandelt wird, brauchste ja nur deinen Compiler so einzustellen, dass er das, was zwischen den beiden Befehlen steht nichtmehr probiert zu compilern, also einfach so übernimmt und in die Out-Datei schreibt, so kann man ASM direkt in den Code einbinden...
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 29. May 2004, 12:54
hallo, ich habe selbst mal sone Sprache gemacht: BOSCL
Basic Operating System Coding Language
hab gestern mal die alte Idee nochmal aufgegriffen und'n bisschen weiter gemacht: hier zum download:
http://home.pages.at/joachim-neu/BOSCL.zip
könnt ihr ja mal testen... wandelt den BOSCL-Code in ASM um...
mfg
JOACHIM NEU
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 29. May 2004, 12:57
p.s. hab auch eine Hilfe-Datei dabei, die alle Befehle und Strukturen erklärt und ein paar inlcudes...
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 29. May 2004, 13:19
Dann macht halt in C und ASM weiter...
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 29. May 2004, 17:56
@ joachim_neu:

Sorry aber an deiner Stelle würde ich den Compiler nicht in BlitzBasic schreiben.
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 29. May 2004, 18:59
wao, hier kennt jemand BB... proggst du auch BB, The_Programmerfish? Also ich finde BB ganz praktisch, da man mit strings usw arbeiten kann und so weiter... in C finde ich das ganze viel komplizierter... hat schon jemand mal einbisschen ausprobiert? Hat jemand einen Bug gefunden?
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 29. May 2004, 19:17
Ja, ab und zu. Ich bin noch am lernen :) Hab zwar schon seit Ewigkeiten ein Buch, hatte aber keine Zeit. C(++) ist für Strings doch eigentlich besser geeignet, da man Buchstabe für Buchstabe einfacher bearbeiten kann.
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 29. May 2004, 19:30
Ein Basic kann einfach nicht besser als C sein, wenn man richtig Programmieren will. Basic is halt einfach nur einfach gestrickt, und OK das ein oder andere kleine Programm kriegt man damit auch hin. Aber mit C kann es Basic nun wirklich nich aufnehmen.
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 29. May 2004, 20:14
Also Basic ist nicht gleich Basic.
Ich selbst habe nur QuickBasic und VB gemacht. Aber BlitzBasic soll doch recht "mächtig" sein wie ich gehört habe.

Da gibts also schon unterschiede.

Und wenn mit Blitzbasic Programme erstellet werden können, die nicht groß irgendwelche Extra-DLLs haben müssen, kann man es doch sehr wohl zum programieren eines Compilers benutzen :)

Bei solchen Hobby-Projekten zählt ja nur das Ergebnis. Die Geschwindigkeit, portabilität usw. können wir da wohl guten Gewissens außer acht lassen :)
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 29. May 2004, 20:27
Gut gut dein Einwand ist wahrscheinlich berechtigt aber ich kann mir wirklich kaum vorstellen das ein basic dialekt mächtiger als c sein kann.
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 29. May 2004, 20:34
Ok, Ok hab grad ma nen bischen rumgesurft so schlecht isses scheinbar doch nich. Nur bei BASIC klingeln bei mir die Alarmglocken. Naja manchmal sollte man sich wohl doch besser vorher informieren, ich gucks mir glaub ich jetz auch ma an. ;)
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 29. May 2004, 22:35
das beste an BB ist, dass man ohne direkt auf DirectX zugreifen zu müssen, wie bei C, einfach nur Befehle hat, die das automatisch machen... @The-Programmerfish: wird zwar OT, aber: kennste www.blitzforum.de? das ist eine Comunity für BB, da bin ich auch... ich schreibe gerne in BB, als abwechslung zu ASM ;-).
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 29. May 2004, 23:05
Wie gesagt hört sich wirklich interessant an wenn ich überlege ich hab mal nen spiel mit c++ und directx gecodet und das war echt mühsälig.
Titel: Programmiersprache/Compiler
Beitrag von: stultus am 30. May 2004, 09:57
Naja, ich mag BB nich so gern, habs mir mal angeschaut, ich finds a) recht lahm, b) die executables zu groß und c) den compiler zu teuer.
Da greif ich lieber auf mein Purebasic zurück, schneller, kleinere exe und wesentlich billiger :) und beweise dass das wirklich mächtig is gibts genug (liest hier jemand Gamestar? die hatten letztens nen bericht über Restricted Area. Dass is in PureBasic gecodet wenn ich mich nich stark irre).
Aufjedenfall ganz allgemein meine meinung worin compiler gecodet werden müssen: C(++) und/oder Assembler (mir egal welcher, sind alle schnell genug :D )
Apropopo C, kennt jemand nen gutes Anfängertutorial (wo am besten DJGPP als Compiler verwendet wird, dann kann ich mir die verwendung von dem teil gleich mit einprägen)?
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 30. May 2004, 10:44
Auf http://www.c-plusplus.de/index.php sind einige Tuts über Cund C++
Welchen Compiler du verwendest ist letzendlich egal, wenn mans grade lernt.
Titel: Programmiersprache/Compiler
Beitrag von: stultus am 30. May 2004, 11:55
mhhhhhhh, is ja ganz nett, jetz hab ich bloß noch eine frage:
Wie verdammt nochmal installier ich djgpp aus den gesplitteten dateien von teejay?
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 30. May 2004, 12:39
alle in ein verzeichnis mit dem ersten archiv anfangen und dann fragt rar nach allen weiteren archiven und dann ganz normal setup ausführen
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 30. May 2004, 16:11
hallo, hab eine neue Version von BOSCL hochgeladen...

Features:

O Additions-, Subtraktions-, Multiplikations-, Divisions- und Modulorechnung mit Zuweisung
O Zuweisung
O #include zum Einfügen von Dateien
O #define zum Definieren von (Text-)Konstanten
O ASM und !ASM zum direkten Einfügen von Assemblercode
O COMMENT und !COMMENT zum Kommentieren des Textes
O Labels
O Sprüng
O Repeat-Forever-Schleifen
O Repeat-Until-Schleifen
O If-Verzweigungen
O For-Schleifen
O Verschachtelung
O Funktionen
O Incrementieren und Decrementieren
O Byte- und Word-Variablen
O Portbefehle

To Do:
O Speicherbenutzungsbefehle
O Pointer zur Zuweisung von Speicherbytes (so dass man mit XY=[0x2020] das Byte in XY bekommt, das an 0x2020 steht)
O Header zum Optimieren vom Code (so dass man einstellen kann, wie tief die Verschachtlung bei For usw. sein kann)
O vielleicht, dass neben den ASM-Code der Teil vom BOSCL-Code geschrieben wird zum kommentieren...

Hat noch jemand Ideen oder Anregungen oder Bugs gefunden?
mfg

JOACHIM NEU
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 31. May 2004, 12:59
hab schon wieder eine neue Version hochgeladen...

Features:

O Additions-, Subtraktions-, Multiplikations-, Divisions-
  und Modulorechnung mit Zuweisung
O Zuweisung
O #include zum Einfügen von Dateien
O #define zum Definieren von (Text-)Konstanten
O ASM und !ASM zum direkten Einfügen von Assemblercode
O COMMENT und !COMMENT zum Kommentieren des Textes
O Labels
O Sprüng
O Repeat-Forever-Schleifen
O Repeat-Until-Schleifen
O If-Verzweigungen
O For-Schleifen
O Verschachtelung
O Funktionen
O Inkrementieren und Dekrementieren
O Byte- und Word-Variablen
O Portbefehle
O automatische Kommentierung
O Speicherpointer
O struct-Strukturen

To Do:

- Header zur Codeoptimierung
 Speicherbenutzungsbefehle fallen wegen Speicherpointern weg...
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 31. May 2004, 13:10
wie stehts bei dir Roshl? wann gibt's von dir mal eine Demo zu sehen?
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 31. May 2004, 13:53
Garnicht... habe beschlossen das ganze nicht zu veröffentlichen da der Grossteil nicht verstanden zu haben scheint worum es mir bei der Sache ging!
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 31. May 2004, 16:16
schade...
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 02. June 2004, 10:22
hab wieder ne neue version hochgeladen:

unterstützt jetzt u.a.:

-stackbefehle
-vektoren (wie in C mit NAME[INDEX] ansprechbar)
-Bitbearbeitungsbefehle
Titel: Programmiersprache/Compiler
Beitrag von: Roshl am 02. June 2004, 18:19
Das heist Array nicht Vektor! Ein Vektor ist was ganz anderes
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 02. June 2004, 21:20
Noch nie was von ner Vektor-Klasse gehört? Vektor hat verschiedene Bedeutungen...
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 02. June 2004, 21:53
also das ist doch wie bei C... mit NAME[INDEX] kann mans auslesen und füllen und in einem C-Buch steht drin, das währen Vektoren...
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 02. June 2004, 22:27
Manche nennen es Vektoren manche Arrays...aber alle verwendens gleich also ist es im Grunde egal wie du es nennst nur Arrays ist gebräuchlicher...
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 02. June 2004, 22:46
Man kann es auch etwa zu kleinlich nehmen :D

Man weiß ja was er meint.

Wir könnten uns ja auch streiten ob wir folgendes:

int iFeld[3][4];

ein 2-Dimensionales Array oder eine Matrix nennen :D

Beides wäre genauso richtig als auch falsch :P
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 03. June 2004, 12:19
Mal was anderes:
@Joachim_Neu:
Lass mal nen Virenscanner über deinen Computer drüberlaufen. Meiner (Antivir Personal Edition) hat in dem nasm, der in deinem Boscl dabei war den "Windows-Virus W32/CTX" gefunden. Es wäre sogar möglich dass der daran schuld ist dass mein Computer auf einen Schlag total lahm ist. (Es dauert fast zwei Sekunden vom aufs-menü-klicken bis überhaupt ein Menü erscheint). Es kann aber auch an dem Trojanischen Pferd liegen dass ich gefunden habe.
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 03. June 2004, 12:40
Doch nicht, hat sich herausgestellt das jeder nasm als Virus identifiziert wird.
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 03. June 2004, 13:39
? heisst das jetz das in nasm in virus drin ist oder das nasm fälschlicherweise als Virus erkannt wird.
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 03. June 2004, 16:34
Ich schätze mal es wurde fälschlicherweise als Virus erkannt; jede (Nach ersten Erkenntnissen Dos)-Nasm Version die ich draufhab (Und das sind bei meinem Saustall ne ganze Menge :) ) wird als virus erkannt, mit der Nachricht dass der Code bestandteile des Windows-Virus W32/CTX enthält. Ich werd mir nachher mal die aktuelle Version runterladen und nochmal nen Test machen. Mal was anderes: Der Scanner findet jetzt keine Viren mehr aber mein System ist immer noch total lahm. Jetzt hab ich im Taskmanager (Ich hab Windows XP) bei den Prozessen einen mir unbekannten Prozess namens "jumgr.exe" (oder so ähnlich) beendet und es läuft wieder. Hatte schon mal jemand so ein Problem?
Titel: Programmiersprache/Compiler
Beitrag von: lobmann am 03. June 2004, 16:58
Das klingt sehr nach spyware ?!
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 03. June 2004, 17:04
Stimmt!
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 03. June 2004, 17:06
Ähm...ist zwar eine sehr interessante Diskussion aber sie ist doch ein wenig arg OT oder? Mich störts nicht ich wollte nur als erster meckern ;)
Titel: Programmiersprache/Compiler
Beitrag von: Icy Wolf am 04. June 2004, 22:45
Wenn du willst, kann ich dir ein gutes Compiler-Tut geben. Oder du kannst es dir selber bei robsite holen.
Compiler schreiben mit TP und in Englisch
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 05. June 2004, 17:03
Es ist nur schon ein wenig in die Jahre gekommen und OOP und so wirst du dort wohl nicht finden...zudem halte ich ich TP schon langsam für aus der Mode gekommen...(nichts gegen TP-Programmierer aber heute hat die Sprache einfach extrem an bedeutung verloren oder?)
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 06. June 2004, 10:53
also ich bleibe bei BB, sonst müsste ich mich wieder in TP einarbeiten und alles neu machen und so ists leichter und besser find ich...
Titel: Programmiersprache/Compiler
Beitrag von: chr15 am 06. June 2004, 22:14
Also ich progge auch noch in TP (Wir werden nächstes Jahr im Info Unterricht damit auch einen Compiler entwickeln), aber für die heutigen Multitasking und Multiuser Systeme ist das nichts mehr! Es war halt in den Dos-Zeiten ganz gut. Es gibt jetzt aber genau so gute altenativen für neue OSes (Kann man ja auch auf sein eigenes portieren). Bestes Beispiel: http:// www.freepascal.org
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 07. June 2004, 09:38
kann man auch ein OS in TP oder BASIC machen? hab ich mal gehört....
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 07. June 2004, 10:19
O Vektoren
O Stack-Befehle
O Bitbearbeitungsbefehle
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 07. June 2004, 10:19
das ist das, was bei der neuen Version dazu gekommen ist... und ein paar bugs wurden entfernt...
Titel: Programmiersprache/Compiler
Beitrag von: chr15 am 07. June 2004, 12:15
Also in FreePascal wurde sogar schon mal ein OS-Geschrieben. Google mal danach. Die Adresse weiß ich nicht mehr (war auch PM). Mit TP/Freepascal kann man aber auch ganz einfach RM OSes schreiben.
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 07. June 2004, 13:56
warum schreib ich dummkopf dann eigendlich noch in ASM??? *sich ärger* naja, ich habe ja jetzt BOSCL, damit gehts auch leicht... ich stehe im moment vor einem logischen problem:

wie kann ich ein Bit von einem Byte mit einer Subtraktion oder Addition oder Verknüpfung auf einen angegebenen wert setzten, ohne wissen zu müssen, wie das Bit gerade steht? also bis jetzt rotate ich mir das bit immer hin... aber wie kann ich es dann ändern? auslesen usw geht ja schon, aber setzten... hoffentlich kann mir jemand helfen...

mfg

JOACHIM NEU
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 07. June 2004, 14:20
Mit der OR-Verknüpfung setzt man ein Bit.
Titel: Programmiersprache/Compiler
Beitrag von: chr15 am 07. June 2004, 15:07
Wenn du es löschen möchtest nimmst du das negative der Maske!

10001101
00001000 soll gelöscht werden
11110111 negativ(not)
Dann 10001101 and 11110111
= 10000101
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 07. June 2004, 18:29
Gehört da nicht ein "or" hin? bei "and" würden doch alle anderen Bits gelöscht werden oder bin ich mal wieder zu blöd?
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 07. June 2004, 18:31
Verdammt ich kann das vorige Post leider nimmer editieren...aber mir ist noch etwas eingefallen: Hat jemmand von euch schon mal mit Yacc und Lex gearbeitet? (oder auch jay, bison,...)?
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 08. June 2004, 21:30
aber ich weiß ja nicht, auf was das bit gerade steht... aber so müsste es doch gehen, vorrausgesetzt, ich habe diese Bitopps verstanden:

auf 0 setzten:
1. das gewünschte Bit an die letzte stelle rotaten
2. mit AND 11111110 wird das letzte bit gelöscht, weil auf jeden fall 0 drin ist, und die anderen nur, wenn sie auch 0 sind...

auf 1 setzten:
1. Rotaten
2. mit OR 00000001 das letzte bit setzen, da es ja auf jeden fall 1 ist, die anderen aber nur, wenn sie auch 1 sind...


ich hoffe, ich habs richtig verstanden...
Titel: Programmiersprache/Compiler
Beitrag von: chr15 am 08. June 2004, 21:39
Ja, du hast es verstanden.
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 09. June 2004, 09:48
ich habe wieder eine neue Version, diesmal wurde nur das Bit-Setzten eingefügt... Jetzt werde ich noch an den Standart-Funktionen rumarbeiten und dann wärs "fertig"... kennt jemand einen Bug?
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 09. June 2004, 13:48
Ist die Sprache eigentlich OpenSource? Denn es steht dort was von einer Quellcode-Datei eine solche war bei meinem Download allerdings nicht dabei...ist das nur ein Fehler bei mir? (Ich würde das ganze nämlich gerne unter Linux testen)
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 09. June 2004, 14:19
Hey Joachim_Neu.

Vielleicht hab ich ja was falsch gemacht, aber ich hab grad mal deinen Compiler ausprobiert und muss sagen das er einige Fehler hat.
Ich hab mal spaßhalber folgendes programmiert:

hallo:int=4
hallo = hallo + 3


Und heraus kam:
add [ hallo ],[ 3]
mov [hallo ],[ hallo ]

Ich weiß ja nicht aber ich könnte mir vorstellen das [3] von nasm nicht als Dezimalzahl 3 angesehen wird :)
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 09. June 2004, 14:23
Da ihr ja alle fleißig am Compilerbauen seid, hatte ich eine ähnliche Idee.

Aber diese wird mehr eine art "Power-Assembler".

Sprich man arbeitet eigentlich direkt mit Assemblersyntax, jedoch werden so dinge wie Schleifen, FUnktionsaufrufe anders (lesbarer) formuliert.


Ich werde demnächst mal ein kleines Konzeot ausarbeiten und das mal hier vorstellen. Vielleicht findet das ja anklang :)
Titel: Programmiersprache/Compiler
Beitrag von: stultus am 09. June 2004, 14:40
Du meinst also im Prinziep nen assembler der um Repeat...Until/Forever , For...Next, While...Wend usw. erweitert wird?
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 09. June 2004, 15:01
1. teejay: du darfst noch keine leerzeichen vor rechenzeichen verwenden... int gibts nicht....

der quellcode ist in BB, damit kann warscheinlich keiner was anfangen, aber ich werden ihn online stellen...
Titel: Programmiersprache/Compiler
Beitrag von: Another Stupid Coder am 09. June 2004, 15:19
@TeeJay
Gute Idee, aber ich glaube sowas schon mal gesehen zu haben...leider weiß ich nichtmehr wo. Wenn's dich interessiert musst du halt suchen. Ich wollte dich nur informieren das du eventuell nicht der 1. mit der Idee bist :)
Titel: Programmiersprache/Compiler
Beitrag von: mastermesh am 09. June 2004, 16:00
Den "Power-Assembler"-Ansatz gibts bereits in Sphinx C--, sogar mit einfachem OOP. Wenn ich mich nicht irre, hatte ich das in diesem Thread schon gepostet ;)
Titel: Programmiersprache/Compiler
Beitrag von: TeeJay am 09. June 2004, 17:18
Es gibt ja auch schon etliche Hobby OS'e :)

Ich mache sowas ja auch meist eher aus lern- und Spaßsache :)
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 11. June 2004, 23:14
hallo, ich habe wieder eine neue Version oben... es gibt nix neues, dafür wurde aber alles auf englisch umgestellt (ich hoffe ihr verkraftet es) und der Bug von TeeJay mit dem Addieren wurde auch entfernt... außerdem gibt es eine 2-sprachige HomePage zu BOSCL mit downloads usw unter www.BOSCL.de.vu ...

mfg

JOACHIM NEU
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 31. October 2004, 21:05
so!

(erstmal: sorry mods, dass ich das hier wieder hochposte, ich wollte aber die verknüpfung bewahren, und keinen neuen thread aufmachen!)

ich habe jetzt das erste tutorial von BOSCL fertig gestellt. Ihr könnt es ja mal testen. Wenn ihr einen Bug findet, dann schreit!!!

viel spaß damit!

JN
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 01. November 2004, 13:40
da ich von teejay unterrichtet wurde, dass die HP nicht geht, hier die Direktlinks:

http://joachim-neu.de/public/tutorials/boscl.txt   <-- Tutorial
http://joachim-neu.de/public/downloads/boscl.zip    <-- Der BOSCL-Compiler

viel spaß beim testen! postet eure meinungen, bugs und verbesserungswünsche!
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 04. November 2004, 10:29
hat keiner BOSCL ausprobiert???  :cry:  :cry:  :cry:
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 06. November 2004, 14:25
Ich werds probieren wenn du - wie du es schonmal angekündigt hast - endlich den Source dazu packst  :twisted:
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 09. November 2004, 18:22
hastes schon getestet? kommentare?
Titel: Programmiersprache/Compiler
Beitrag von: The-Programmerfish am 09. November 2004, 20:16
Bin noch nicht dazu gekommen. Hab die Woche 2 Schulaufgaben und einen sogenannten Geva (oder Gefa oder G.e.v.a usw.) Test der der Berufsfindung dient. Am Wochenende werd ich aber Zeit haben dann schaumer mal   :mrgreen:
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 09. November 2004, 20:34
danke. naja, lern bessa für den test, scheint wichtiger! hat sonst noch wer was getestet, und seinen kommentar`?
Titel: Programmiersprache/Compiler
Beitrag von: Kyoko12 am 24. November 2004, 20:25
Alos,ich find die Sprache super! Echt geil mann.
Titel: Programmiersprache/Compiler
Beitrag von: joachim_neu am 24. November 2004, 20:29
Zitat von: Kyoko12
Alos,ich find die Sprache super! Echt geil mann.


danke. haste das Tut gelesen?
Titel: Re: Programmiersprache/Compiler
Beitrag von: chris12 am 17. November 2008, 22:31
ich weiss is lange her aber gibs aktuelle news oder downloads?