typedef    typedef .* ; -->> typedef lex/parse
enum       enum .*};
namespace  namespace.*{
class      class.*{
oclass     class.*;
function   [id].*(.*).*;
variable   [id]\ [id].*;
inline     inline.*  ???
using      using ???
friend     friend.*;
template   template
Q_DECLARE_CLASS
O2comments /** - */

//ig* and //mt, //io, //ss handling

add a //sig .. //endsig for public signals

make //ig work for everything

//replace ??

plus all of the ignored macro stuff 

private:
public:
protected:
slots:
signals:

make defines local or global
load entire file, preprocess before lexing
add 'sort' directive to module (optional to retain module order)
file selector plugin, comparison logic, framework plugin, sip.in handling


separate file for each construct/construct lexer/construct parser

expression parser for cpp enum values, defaults

index markup by class/method, throwaway a method -->> throw away docs (eg dtors)
build class index while parsing
build hierarchy while parsing (?? will see some base classes before decl)

parse for ambiguous scaler types

need to scope methods for default uses

mapped type table

ordinal data for blocks, methods

doc and test as you go

target: 10 minutes for PyKE4 (sip and docs)


class -> class properties (scope,abstract, etc
method -> meth props (const, virtual, pure virtual, static, signal, 

detect globals and add %ModuleHeaderCode

save state (checkpoint) between modules - don't update saved (retained) state until
module completes