Suche Programmierer, der einen Parser schreiben könnte geg. Bezahlung
-
Ich habe Interesse daran. Ich habe mich viel mit der Materie beschäftigt wie man in meinem folgenden Artikel sehen kann http://magazin.c-plusplus.net/artikel/Compilerbau .
Meine E-Mail: [E-Mail gelöscht -> nicht mehr aktuell]
-
okay bevor wir näheres besprechen.
schau dir bitte blitzmax, oder glbasic oder am besten wohl freepascal an.
mein ziel ist folgendes.
ich möchte solch eine programmiersprache irgendwann selber bauen bzw. ausbauen im moment fehlt mir das wissen dazu und benötige sozusagen nur erstmal das grundgerüst um es selber zu lernen.
also ein total simpler editor wäre cool, mit ein paar simplen befehlen für den anfang.
das ganze wird dann mittels toolchain mingw gcc compiliert.
wenn du dir glbasic als demo runterlädst und dir das installverzeichnis anschaust, oder die demo von blitzmax, dann kommen wir vielleicht ins geschäft.
ich möchte das ganze irgendwann zu soetwas wie ein basic dialekt erstmal nur für 2d spiele ausbauen.
und ich denke, wenn ich die projektdateien zu soetwas auch mitbekomme, lern ich am ehesten etwas darüber.
aus dem lesen lesen lesen was es darüber zu lesen gibt.
wenn du nun immer noch interesse hast, und dir vorstellen könntest, soetwas vielleicht beschränkt auf den 2d bereich zu schaffen, kannst du ja gern hier nochmal posten, und ich meld mich dann per mail, und wir besprechen näheres.
-
Was willst du genau? Einen Deine-Sprache-zu-C-Compiler, einen Editor mit Highlighting für diese Sprache oder eine Bibliothek mit Funktionen für elementare 2D Graphik? Das sind 3 verschiedene Programme welche alle einiges an Aufwand und demnach Kosten verursachen.
-
naja so ein simpler editor, was dann eben meine sprache zu c und dann in .exe compilieren, wäre eigentlich mein ziel.
allerdings wäre natürlich eine bibliothek für c++ auch nicht verkehrt, denke aber dass es sowas sicher schon gibt.
ziel ist es eben dass ich irgendwann mal so einen editor selber schreiben, bzw. einen von dir eventuell programmierten ausbauen kann, genauso wie die demzufolge vorhandene befehlsreferenz.
also der editor muss erstmal kein highlighting haben, so für den anfang, nur nen editor mit speicher/lade funktion und eben nen button fürs compilieren würde erstmal ausreichen.
und einen standard befehlssatz, was variablen, deren berechnung schleifen bedingungen usw. betrifft basic halt, und 2d dazu.
also man mit bildformaten als sprites arbeiten kann.
man sozusagen ein 2d spiel schreiben könnte.
wenn du das hinbekommst, sind wir eventuell im geschäft.
überschlage das ganze mal, und wenn du es machen möchtest, mir ist klar, dass die nicht umsonst und viel arbeit ist, aber eine möglichkeit mich gleich praktisch mit der materie auseinanderzusetzen, wenn ich im nachhinein die quellcodes studieren kann.
bin zwar jetzt nicht krösus, aber ordentliche arbeit soll natürlich ordentlich bezahlt werden.
ich schick dir eine mail, und dann kannst du ja sagen, was so ein "2D basic" incl. editor und aller quelltexte(evtl. kommentiert) kosten würde.
-
Hallo x-tra,
ich hätte auch Interesse, aber ich würde dir empfehlen, dich selbst damit zu beschäftigen. Ein "Grundgerüst" findest du wie Sand am Meer, wenn du einfach mal danach suchst.
Lies dir mal das Buch http://compilers.iecc.com/crenshaw/. Und das Wichtigste, was du mitbringen musst: Geduld!!!
~cp
-
also geduld hab ich, lesen werd ich das von dir empfohlene auch.
mir fehlen im moment allg. viele c++ kenntnisse.so ein grundgerüst, wo das alles auf 2d zumindest teilweise schon steht, wäre aber als anschauungs und ausbaumaterial aber einfach zu perfekt.
aber wenn du möchtest, das angebot steht ja noch.
-
x-tra schrieb:
...simpler editor, was dann eben meine sprache zu c und dann in .exe compilieren, wäre eigentlich mein ziel.
Das klingt nicht logisch. Editieren kannst du Text mit jedem Texteditor (das klingt logisch), zum kompilieren brauchst du einen Compiler. Jeder halbwegs gute Texteditor hat aber eine Möglichkeit, externe Programme zu starten.
Du kannst ja mal nach der "Shakespeare Programming Language" googlen, da erklären sie recht anschaulich, wie und mit welchen Tools sie den Code zu C-Code verarbeiten.
-
x-tra schrieb:
also geduld hab ich, lesen werd ich das von dir empfohlene auch.
mir fehlen im moment allg. viele c++ kenntnisse.Dann solltest du vielleicht erstmal richtig Programmieren lernen, bevor du dich an das Thema "Programmiersprachen programmieren" machst, denn das ist schon ein recht komplexes Thema. Einen Parser kannst du ja in jeder beliebigen Sprache schreiben, wie du Lustig bist, es geht ja mehr darum zu wissen WIE man das Problem löst.
x-tra schrieb:
so ein grundgerüst, wo das alles auf 2d zumindest teilweise schon steht, wäre aber als anschauungs und ausbaumaterial aber einfach zu perfekt.
aber wenn du möchtest, das angebot steht ja noch.
Naja was soll ich dir dazu sagen? Es bringt dir nichts wenn ich dir einen Code gebe und du diesen dann nicht verstehst weil dir das Wissen fehlt. Das ist so wie Bugfixen in einem System, das man nicht kennt, man stochert rum und hofft das es klappt, aber was man wirklich tut weiss man nicht. Daher würde ich dir schon empfehlen, es selbst zu machen. Schau mal im Thread http://www.c-plusplus.net/forum/viewtopic-var-t-is-217226.html, da habe ich gerade mal einen Parser für Ausdrücke gepostet, der wirklich schon sehr einfach ist.
Das Buch von Crenshaw, welches ich dir empfahl, ist ebenfalls ein sehr gutes "Gerüst". Jack Crenswaw beharrt nämlich auf dem Konzept, Funktionen in seinen Programmen sehr klein und Übersichtlich zu halten, daher ist es auch sehr angenehm zu lesen und zu verstehen, selbst wenn man kein Pascal kann (die Beispiele dort sind allesamt Pascal!).
Es wäre erstmal Wichtig, eine Grammatik für diene Sprache zu schaffen, und aus dieser Grammatik kannst du dann den Parser quasi herleiten. Ein Beispiel für eine ganz simple BASIC-Grammatik ist z.B.
BASIC = PROGRAM ;
PROGRAM = STATEMENTS ;
STATEMENTS = STATEMENTS STATEMENT | "\n" ;
STATEMENT = "PRINT" EXPRESSION | "IF" EXPRESSION "THEN" GOTO | "LET" VARIABLE "=" EXPRESSION ;
EXPRESSION = TERM ( "+" TERM | "-" TERM ) ;
TERM = FACTOR ( "" FACTOR | "/" FACTOR ) ;
FACTOR = Integer | Float | VARIABLE | "(" EXPRESSION ")" ;
VARIABLE = Identifier ;
GOTO = "GOTO" Identifier ;**Und das ist jetzt nur ein hingeschmiertes Beispiel. Daher: Hinsetzen, Lesen, Verstehen => Coden!
~cp
-
von dem ich nur die hälfte verstanden habe.
ich weiß, dass ich noch viel lernen muss.
-
x-tra schrieb:
von dem ich nur die hälfte verstanden habe.
Macht ja nix, kann man ja alles lernen!
Es ist leider so, daß dieses Thema oftmals sehr theoretisch rübergebracht wird, was mich auch immer sehr gestört hat. Daher schau dir wirklich meine Empfehlungen an, ich weis was taugt und was nicht, da ich schon einige Wälzer zu diesem Thema gelesen (wenn auch nur teilweise) habe.Bisher am besten sind die Bücher von Crenshaw, Holub und das von Wirth ("Compilerbau", obwohl hier die Beispiele in Modula/2 gegeben sind), jedenfalls meiner Meinung nach, da hier am meisten Praxis drin vorkommt.
Gruß
~cp