www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Compiler construction tools?

reply Joey Peters <dragonumber7 hotmail.com> writes:
Are the following available yet:

Lexer generator, Parser generator, Graphics library; preferable all 
simple and dandy, working 100%, and fast. Perhaps even developed along 
the lines of compatibility with each other (lexer and parser).

-- bg info --

I was going to use this to try and make a virtual aether. Science is 
trying to prove this new aether but Einstein said it was "stupid" in his 
special theory of relativity. However, it is a special theory.

In this virtual ether, I wanted to make scripts that define the 
properties of singularities operating in a time space configured by 
mathematical formulas. If visualized, this throws graphically stunning 
effects such as different types of fractals...

I am not smart enough to make these tools myself. I barely have an idea 
how to start this project or how the procedures must look like. I was 
thinking along the lines of logic shapes and defining how they are 
"mutilated" in a custom language. It is for my artistic side, to make 
some dandy looking fractals that nobody has seen before (in such a 
pattern etc).

JavaScript or existing tools worth embedding, are all too slow. I wanted 
a compile time fractal generator to improve in rendering considerably. 
Rendering fractals or virtual singularities on such planes requires a 
lot of processing power even for something as simple as a mandelbrot.

The difficult part, is interpreting the code, and dynamically allocating 
programming in memory and setting the PC there. This will require some 
assembly...

I may just wait another 6 years with this though due to some mental 
conditions I've been having.
Jun 28 2006
next sibling parent BCS <BCS pathlink.com> writes:
Joey Peters wrote:
 Are the following available yet:
 
 Lexer generator, Parser generator, Graphics library; preferable all 
 simple and dandy, working 100%, and fast. Perhaps even developed along 
 the lines of compatibility with each other (lexer and parser).

lexer and parser: http://www.dsource.org/projects/ddl/wiki/Enki ??
Jun 28 2006
prev sibling next sibling parent Daniel Keep <daniel.keep.list gmail.com> writes:
Joey Peters wrote:
 Are the following available yet:
 
 Lexer generator, Parser generator, Graphics library; preferable all 
 simple and dandy, working 100%, and fast. Perhaps even developed along 
 the lines of compatibility with each other (lexer and parser).

As BCS already said, Enki for the first two (although it's very sparsely documented at the moment). For graphics, there are a few libraries available, but I'll plug my own (since it's the only one I know anything about :P): http://www.dsource.org/projects/bindings/browser/trunk/cairo/ Granted, cairo isn't the fastest, but it has good quality, and is easy to use. I actually thought about writing a simple 2D fractal program using cairo, but never got around to it :P As for what you want to use it for... sounds fun but very tricky. Best of luck :) -- Daniel
Jun 28 2006
prev sibling next sibling parent Rémy Mouëza <ray.jay.ay.moueza DoNtSpAm.gmail.com> writes:
In article <e7ulj3$b0d$1 digitaldaemon.com>, Joey Peters says...
Are the following available yet:

Lexer generator, Parser generator, Graphics library; preferable all 
simple and dandy, working 100%, and fast. Perhaps even developed along 
the lines of compatibility with each other (lexer and parser).

-- bg info --

I was going to use this to try and make a virtual aether. Science is 
trying to prove this new aether but Einstein said it was "stupid" in his 
special theory of relativity. However, it is a special theory.

In this virtual ether, I wanted to make scripts that define the 
properties of singularities operating in a time space configured by 
mathematical formulas. If visualized, this throws graphically stunning 
effects such as different types of fractals...

I am not smart enough to make these tools myself. I barely have an idea 
how to start this project or how the procedures must look like. I was 
thinking along the lines of logic shapes and defining how they are 
"mutilated" in a custom language. It is for my artistic side, to make 
some dandy looking fractals that nobody has seen before (in such a 
pattern etc).

JavaScript or existing tools worth embedding, are all too slow. I wanted 
a compile time fractal generator to improve in rendering considerably. 
Rendering fractals or virtual singularities on such planes requires a 
lot of processing power even for something as simple as a mandelbrot.

The difficult part, is interpreting the code, and dynamically allocating 
programming in memory and setting the PC there. This will require some 
assembly...

I may just wait another 6 years with this though due to some mental 
conditions I've been having.

For GUI you may have a look at the Wiki4D : http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries Yesterday, I made a search about available GUI libraries, written in C and based on SDL and OpenGL with the idea to make some bindings using Gregor Richards' BCD available on dsource : http://www.dsource.org/projects/bcd BCD contains itself some bindings to GUI libraries: FLTK and Gtk-2. I was interested by the following libraries : Agar : http://agar.csoft.org/index.html.en and OTK : http://otk.sourceforge.net/ Both open source and highly portable. You may also consider using Arc : http://www.dsource.org/projects/arcgames wich includes a GUI library : http://www.dsource.org/forums/viewtopic.php?t=1629&sid=9a079febf1c97488003ed068c20cdc43 However, that latter might not be as complete as Agar and OTK but is in the same spirit.
Jun 29 2006
prev sibling parent jcc7 <jcc7_member pathlink.com> writes:
In article <e7ulj3$b0d$1 digitaldaemon.com>, Joey Peters says...
Are the following available yet:

Lexer generator, Parser generator, Graphics library; preferable all 
simple and dandy, working 100%, and fast. Perhaps even developed along 
the lines of compatibility with each other (lexer and parser).

As has been mentioned, Enki might be exactly what you're looking for in the lexing/parsing area. Otherwise, here's a big list of possible solutions: http://www.prowiki.org/wiki4d/wiki.cgi?GrammarParsers jcc7
Jul 03 2006