[MPGH]Ahl (10-04-2016),[MPGH]Dave84311 (10-02-2016),[MPGH]Hero (10-02-2016),Hunter (10-03-2016),inc3pt (10-04-2016)
Introduction
Welcome to the very first release of Expression Parser the scripting language.
This is going to be a short thread as all the necessary information can be found in my other threads created about ep, they can be seen at the bottom of this page.
What is Expression Parser?
Ep, which by the way is short for Expression Parser, is a new scripting language created for the sole purpose of being used by MPGH members exclusively. It's meant to work along the side of C++, meaning you can directly use ep in your C++ Applications by simply including the ep headers and libraries. The now improved C++ portability means you can have ep arguments (variable_list) automatically deduced into arguments at C++ compile time.
I wanna learn more, how does it work?
Expression Parser Theoretical Introduction
Expression Parser Practical and Syntactical Introduction
Changelog
Version 1x2
Version 1x3Code:- First release
Code:- You can now include files with the import keyword, by simply using "" operator. Example: import "myfile.ep"; - Cleaned up some module code. - Fixed a logical error inside of the optimizer. (It optimized correctly, but after said optimization the cursor would be at the wrong position) - Fixed bug in the engine constructor leading to undefined behaviour. - Fixed fake conversion bug in ostream::put and ostream::putln. (It would always throw a conversion error)Sincerely,
Yamiez.
Last edited by Yemiez; 10-02-2016 at 10:22 AM.
[MPGH]Ahl (10-04-2016),[MPGH]Dave84311 (10-02-2016),[MPGH]Hero (10-02-2016),Hunter (10-03-2016),inc3pt (10-04-2016)
What the fuck, after 12 hours I'm the first one to download it? O.o
Yemiez (10-04-2016)
[MPGH]Hero (10-04-2016),inc3pt (10-04-2016)
Coming up next....:
- Actually working '->' operator.*
- Groups! (Basically classes!)
- Win32 library*
* Completed
Here's a peak on how I plan groups to work:
Code:group identifier { members: // private variables var mem; methods: // public methods identifier( &init ) // Constructor { this->mem = init; }; ~identifier( ) { }; method clone( &other ) // clone method (aka copy constructor, it's called whenever you copy identifier) { }; method get_mem( ) { return this->mem; }; method set_mem( &new ) { this->mem = new; }; method '+'( &other ) { return this->mem + other->mem; }; method '=='( &other ) { return this->mem == other->mem; }; };
Thanks,
Yamiez
Last edited by Yemiez; 10-04-2016 at 02:35 PM.
[MPGH]Ahl (10-04-2016),[MPGH]Hero (10-04-2016),[MPGH]Hugo Boss (10-04-2016),inc3pt (10-04-2016)
Really interesting, nice job!
Yemiez (10-05-2016)
Yemiez (10-05-2016)
/Outdated, closed.
Yemiez (10-05-2016)