Common Lisp Package: COM.INFORMATIMAGO.COMMON-LISP.CXX.CXX

Parsing C++ sources. This is a restricted parser, used just to analyze the call graph of C++ functions and methods. License: AGPL3 Copyright Pascal J. Bourguignon 1996 - 2012 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>

README:

FUNCTION

Private

Undocumented

BUILD-C++METHOD-NAME-LIST (MLIST)

BUILD-UNIF-METH-NAME-LIST (UMLIST)

CHAR-KIND (C)

NAME-METHODS (L)

NODE-NAMED (G N)

RANGE (S FROM END)

SEARCH-METHOD-CALLS (STATEMENTS)

SEARCH-UNIF-METH-NAMED (NAME UMLIST)

SKIP-COMMENT (SELF START-STRING STOP-LAMBDA)

TOKEN-KIND (TOK)

TOKEN-MEMBER (TOK LISTE)

GENERIC-FUNCTION

Public

BUILD-METHOD-CALL-GRAF (PROGRAM)

Builds the method call graph of the program.

PARSE (PROGRAM FILE-NAME-LIST)

DO: Parse the files given into the program. PROGRAM: An instance of C++PROGRAM. FILE-NAME-LIST: A list of file pathnames, C++ sources and headers.

Private

Undocumented

ADD-C++METHOD (SELF METHOD)

CALLED-METHODS (SELF)

DO-QUOTES (SELF FLAG)

DUMP (SELF)

NAME (SELF)

PARSE-STATEMENT-LIST (SELF FILTER)

PUSH-ON-FILTER (SELF F)

READ-A-CHAR (SELF)

READ-A-TOKEN (SELF)

SET-FILE (SELF F)

SET-SOURCE (SELF INPUT)

UNIFY-METHODS-BY-NAME (SELF)

SLOT-ACCESSOR

Private

Undocumented

ARGUMENTS (SELF)

SETFARGUMENTS (NEW-VALUE OBJECT)

BAD-TOKEN-LIST (OBJECT)

SETFBAD-TOKEN-LIST (NEW-VALUE OBJECT)

BODY (OBJECT)

SETFBODY (NEW-VALUE OBJECT)

C++CLASS-NAME (SELF)

SETFC++CLASS-NAME (NEW-VALUE OBJECT)

C++METHOD-NAME (OBJECT)

SETFC++METHOD-NAME (NEW-VALUE OBJECT)

C++SOURCE (OBJECT)

SETFC++SOURCE (NEW-VALUE OBJECT)

DOQUOTES (OBJECT)

SETFDOQUOTES (NEW-VALUE OBJECT)

DOTRACE (OBJECT)

SETFDOTRACE (NEW-VALUE OBJECT)

FILE (OBJECT)

SETFFILE (NEW-VALUE OBJECT)

SETFHEADER (NEW-VALUE OBJECT)

HEADER-KIND (OBJECT)

SETFHEADER-KIND (NEW-VALUE OBJECT)

INITIALIZER (OBJECT)

SETFINITIALIZER (NEW-VALUE OBJECT)

METHODS (OBJECT)

SETFMETHODS (NEW-VALUE OBJECT)

NEXT-CHAR (OBJECT)

SETFNEXT-CHAR (NEW-VALUE OBJECT)

NEXT-TOKEN (OBJECT)

SETFNEXT-TOKEN (NEW-VALUE OBJECT)

PREVIOUS (OBJECT)

SETFPREVIOUS (NEW-VALUE OBJECT)

RES-TYPE (SELF)

SETFRES-TYPE (NEW-VALUE OBJECT)

STATEMENTS (OBJECT)

SETFSTATEMENTS (NEW-VALUE OBJECT)

CLASS

Public

C++PROGRAM

Represents the C++ program.

Private

Undocumented

C++BODY

C++CLASS

C++COMMENT-FILTER

C++HEADER

C++METHOD

C++NONLTOKEN-FILTER

C++TOKEN-FILTER

CCOMMENT-FILTER

CHAR-FILTER

CPREPROCESSOR-FILTER

FILE-FILTER

LOOK-AHEAD-CHAR-FILTER

LOOK-AHEAD-TOKEN-FILTER

TOKEN-FILTER