• Advertisement
Sign in to follow this  

Parsing expression with functions -- AS vs boost

This topic is 1736 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Thing is , I started writing some fancy functions for map modification, which would be called by various Game parts, especially the console and AS :

    TileContainer* create(int x , int y , Tile::TileType tt );

    TileContainer* copy(TileContainer* tc1 , TileContainer* tc2 );

    TileContainer* embed(TileContainer* tc1 , TileContainer* tc2 );

    TileContainer* rotate90(TileContainer* tc );

    TileContainer* reflectX(TileContainer* tc);

    TileContainer* reflectY(TileContainer* tc);

    TileContainer* tilePermute(TileContainer* t, int x , int y , Tile::TileType tt );

    TileContainer* clone(TileContainer* tc );

    TileContainer* tileReplace( TileContainer* tc , Tile::TileType tt1, Tile::TileType tt2  );

 

That's not only such set of functions , but it illustrates well the problem : How to compute any expression like f(g(h(4 + 5 ) ) ) for which some of f,g,h ... comes from the binary some from AS ? How do I extend that so I have mini-language at Console  ? The first concrete question is : How do I get abstract tree of such expr ? Do I use the AS or use some 3rd lib like boost and there get parser/ lexer for it ?

Share this post


Link to post
Share on other sites
Advertisement
In addition to that I recommend that you take a look at the 'console' sample in the AngelScript SDK. It shows one way that you may implement an in-game console with support for executing expressions, etc.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement