Menu

GAPSE Engine

2002-09-11
2002-09-13
  • Jan-Hendrik Kuperus

    I've recently opened a SourceForge project called the 'GAPSE': GenerAl Purpose ScriptEngine. I haven't really put anything in it yet, but I have a very early prototype of it on my drive.

    I'm writing a ScriptEngine for a MUD, but I wanted to keep it as general as possible, because I also have other uses in my mind... So perhaps we could take it up seriously now....

    I'll start making some of my paper-scratch models available...

     
    • Jan-Hendrik Kuperus

      Check this DataFlow diagram:

      http://shirmanos.student.utwente.nl/~kramor/ScriptEngine%20DataFlows.jpg

      All comments are welcome :D

       
    • Nobody/Anonymous

      Looks cool, do you want to combine efforts?  What did you have in mind for syntax, you mentioned OO without class declarations that sounds cool what would it look like ?  Quick question, why are there 2 threads displayed ?

      Charles

       
    • Jan-Hendrik Kuperus

      Sure I'd like to combine efforts... that's kinda why I posted it :)

      About the syntax, I was thinking of a C/C++ type of language, but if we want to make a general type of script engine, we may also require class definitions & stuff..

      There's only 2 threads displayed, but there can be a much larger thread pool. The reason I chose to have multiple threads is because it was initially designed for a Multiplayer game... You don't want to have to wait for someone else's script to terminate before yours can begin....

       
      • Nobody/Anonymous

        Ah ok.  Sounds cool, should we join the GAPSE mailing list ?  Ill post what alec had in mind

        Ok, well what i have in mind could be split up into the following steps:

        1. A good C++ parser generator - this part is done
        2. An embeddable scripting language; the requirements for this would be:
          - written in C++
          - portable
          - embeddable at the source level (i.e. no .so or .dll,
            just get the sources, compile with your own project and voila !)
          - for the syntax, i'd go for something like JavaScript - it's pretty
            intuitive for the average C/C++/Java programmer, no need to
            reinvent the wheel here
        3. Bindings from the scripting language to a GUI toolkit (my current
            choice goes to fltk (the Fast Light Toolkit - which uses the same
            "compile all the stuff together" approach and it's 100% C++)
        4. Whith these and by adding some extra C++ components one could build
            a nice framework for developing IDEs of all kinds.
        5. The Great IDE. My personal goal is to have a good IDE for hardware
            design - i.e. the supported languages would be Verilog and VHDL.
            This requires some components that are specific to such tools and
            that must be written in C++. Te coolest thing would be if we can
            find a framewrok architecture that's general enough to support any
            kind of language through plugins written in either the scripting
            language or C++. For instance, my view is that an editor component
            that does just syntax highlighting is no longer cool enough. What
            i'd like is an intelligent editor that keeps an in-memory image of
            the project and updates it as you type the code (don't laugh, such
            a thing already exists for Java - it signalls a misspelled
            identifier as soon as you type the separator after it, aso).

        For syntax, i dont like the notion of public and private so maybe an optional read-only tag ? like

        int x : ro;

        or do you want to use types at all ?  do you want to make it <i>completely</i> OO , as in allow NO functions outside of classes, and just have a class main ?  I would like to support overloading and default arguments maybe single inheritance, just throwing out ideas.  Let me know what you think.

        Charles

         
    • charles

      charles - 2002-09-11

      Hmm, maybe im focusing too much on the a new language. I really don't know enough about writing interpreters/compilers to build an engine per se.  I might just try to build a language first.  And maybe co create the engine in the process? :)

      Charles

       
    • Jan-Hendrik Kuperus

      Okies... I will put some work in setting up the GAPSE site / mailing list etc. etc....

       
      • Alec Panovici

        Alec Panovici - 2002-09-12

        Ok, i suggest moving this thread on the GAPSE Open discussion forum. I will post some more thoughts on the language/features there.

        Alec.

         
    • Jan-Hendrik Kuperus

      The project page is: http://sourceforge.net/projects/gapse-engine/

      Anyone who wants to be a Developer on the project, please mail me...

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.