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 ?