This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] C++'ization of cp/parser.c/h


Patch to SVN HEAD that initially C++'izes cp/parser.h and cp/parser.c
by class'izing the cp_lexer and cp_parser group of functions.

For C programmers and for context all method calls are preceded by
'this->' and static method calls by 'cp_parser::' or 'cp_lexer::'.

I have made minimal non orthogonal changes to the code on purpose at
this stage. This is still a work in progress and I am not sure about
how to go about preparing a change log for this patch.

There are a number of loose ends :-

  - struct's are used rather than classes for now as the whole file
gives encapsulation for now.
  - const's need to be applied
  - cp_parser_context_free_list is still static and not a member of
cp_parser yet. This also needs a gengtype change to support
GTY((deletable)) as a node and not just on gcroots.
  - cp_token functions have not been class'ized yet.
  - cp_debug functions are still in global space
  - cp_unevaluated_opreand is still in global space
  - cp_lexer::get_preprocessor_token() needs rationalizing
  - there are still #define's associated with VEC operations that
should be moved to inline methods
  - constructors and new methods are still functions as PCH call
ordering conflicts with them, this also allows keeping code changes
parallel and recording incremental changes in the code.
  - no_parameters has been left in but is not used

--
Aaron

Attachment: parser.tar.bz2
Description: BZip2 compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]