FUTURE WORKS... (or murmurs)
Tried But Failed Things
- parameterization of stack
- Like
Allocator::rebind
, I could realize it, but it was regarded as lack of simplicity. - It is no delight to parameterize stack...
Easy Things To Do
- Perpetuation of Parser
- I cannot imagine the usage of it, but I can do it.
- Grammar / Visualization of Table / XML-nization
- Basically it's a variation of generator.
- I think it seems to be ended by throwing into boost.graph and outputing by graphviz etc.
Difficult Things To Do
- GLR parser
- Now might be the GLR parser age...( implemented by Elkhound, D Parser, bison-derived etc. )
- There seems to have difficult problems to solve.
- EBNF
- Not so difficult to do, ...
- There are problems on start up of semantic action... (I don't know how to treat lists...)
- Like this?
struct SemanticActin { int DoAction1( const parser::Sequence< T >& s ){} int DoAction2( const parser::Optional< T >& s ){} }
- That I think so ... I cannot treat
(Foo Bar Baz)*
-like grammars. - Scannar-Less Parser
- Usability is very good, but that has demerits...
- If scanner-less, token will be char.
- RegExp-to-Caper grammar converter required?
- Is it easy if I can use
boost::variant
in output parser? - Is the table likely to be huge?
- Are there much separate merits?...
- I hope
boost::regex
had match actions or like that. - The current
boost::regex
cannot determine which pattern was matched in O(1), so that is not suitable for scanner. - Can I realize it by converting to token numbers by
replace_match
or like so? - Is it OK that the scanner only uses spirit?
- Is it all right by
boost::tokenizer
? - Auto generation of AST
-
boost::variant
was very good rather than I think. - It seems that AST auto generation by using
boost::variant
may be realizeable. - ... I think so, but it is not so easy, isn't it?
Things To Improve
- Dynamic parser engine
- The interface is not so good. I want to fix the bugs.
Miscellaneous
Your opinions and bug reports are wanted about...
- What compiler with what options causes what warnings.
- This part of the source should use what of Boost.
- I can make it clean and/or improve extendability.
- I want to do something but I cannot. Can you help me?
- I cannot understand the meaning of this error message.
- This error message is wrong in English
- This component name is not intuitive.
Don't hesitate to email me. Anonymous OK.