From: <se...@in...> - 2004-08-10 13:39:26
|
On Tue, 2004-08-10 at 04:58, Grzegorz Jakacki wrote: > Stefan Seefeld wrote: > > Hi Gilles, > > > > Gilles J. Seguin wrote: > > > >> On Fri, 2004-07-30 at 22:09, Stefan Seefeld wrote: > >> > >>> Thanks. In fact, I'm working on the C++ parser right now, > >>> to be able to expose a much more rich AST to python to allow > >>> real code inspection and following that code generation. > >>> Drop in if you have ideas or even want to help :-) > >> > >> > >> > >> Hello Stefan, > >> > >> First a little introduction. > >> I have offered Grzegorz Jakacki, from the opencxx project > >> to update the configuration of opencxx. That step is done. > >> The change are visible on the branch rel_2_8. > >> Grzegorz is targetting third week of august for releasing 2.8 . > > > > > > yeah, I know :-) > > > >> Next project in opencxx, increase test coverage. > >> Any idea are welcome. > > > > > > I'm doing that inside synopsis right now, i.e. I'm adding tests > > to the opencxx backend inside synopsis. My tests are all organized > > using the qmtest framework (www.qmtest.com), and I offered Grzegorz > > to put something similar into place for his project. > > Just to clarify: I have never rejected it and this is still open. I > tried to understand how Synopsis uses qmtest, but for misc. reasons I > failed. Tests for the occ binary on the PATH environment variable <http://www.infonet.ca/segg/occ.tgz> will unpack in occ directory. $ cd occ $ qmtest run # will run everything. $ qmtest run parse # will do the same as 'qmtest run' since we have only one directory. $ qmtest run parse.access1 # will run only one test. The tests examine results from 'occ -p -s myfile.cc' > Stefan, if you have running examples that do qmtesting of > OpenC++, I would love to have a look. And generally, could you post > instructions how to check out your OpenC++ "branch" from Synopsis repo? > > And last but not least: I think that the first thing that should be > established if we get down to increasing coverage is a mechanism to > measure line coverage conveniently (using e.g. gcov). Otherwise speaking > about increasing coverage is a little bit hand waving. If any of you > guys want to take it, please do, I will be busy with other things at > least till the end of August (samples, 2.8, merging to main, docs). > > > That being said, I still hope (as you may know) that we can at some > > point merge both projects. Right now I'm doing most work on synopsis, > > offering from time to time to merge back fixes into the OpenC++ project. > > This is certainly suboptimal. However, I don't see any straightforward > solution at the moment. I would suggest that we go through options > again, so that we can have more convenient setup, say, in mid-September. > > BR > Grzegorz > > >> The main point of this email, how can I see the work that > >> you are doing on the C++ parser. > >> I have done 'svn checkout', so I have revision 1332. > > > > > > I'm just starting my work on the backend. My plans are (in that order): > > > > * rewrite some low level classes (Buffer, Lexer, basically) > > > > * make the existing API more clean (const-correct, more typed, etc.) > > > > * try to understand how the Parser needs to be changed in order to > > correctly understand the tokens, i.e. build a correct parse tree / AST > > (see recent posts on the opencxx list). > > > > * build a true high-level AST API on top (no more Car() / Cdr() calls !) > > > > * export that AST API publicly through C++ as well as python > > > > * get rid of the occ executable, provide a python script instead (for > > backward compatibility only) > > > > * solidify the C++ / python APIs to let users build their domain-specific > > applications either as python scripts or C++ programs > > > > I realize this is a lot of work. I'm not sure what the timeframe is to get > > all of this done. I'v almost finished the first point (the Buffer is > > committed, > > the Lexer will follow one of these days). > > If you are interested in getting involved, let me know. > > > > Kind regards, > > Stefan |