File: tree_parser.h

package info (click to toggle)
umbrello 4%3A25.12.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 46,212 kB
  • sloc: cpp: 144,235; php: 2,405; sh: 855; xml: 354; cs: 309; java: 91; python: 68; makefile: 11; sql: 7
file content (47 lines) | stat: -rw-r--r-- 1,505 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* This file is part of KDevelop
    SPDX-FileCopyrightText: 2002, 2003 Roberto Raggi <roberto@kdevelop.org>

    SPDX-License-Identifier: LGPL-2.0-or-later
*/

#ifndef __tree_parser_h
#define __tree_parser_h

#include "ast.h"
class ParsedFile;

class TreeParser
{
public:
    TreeParser();
    virtual ~TreeParser();

    // translation-unit
    virtual void parseTranslationUnit(const ParsedFile&);

    // declarations
    virtual void parseDeclaration(DeclarationAST*);
    virtual void parseLinkageSpecification(LinkageSpecificationAST*);
    virtual void parseNamespace(NamespaceAST*);
    virtual void parseNamespaceAlias(NamespaceAliasAST*);
    virtual void parseUsing(UsingAST*);
    virtual void parseUsingDirective(UsingDirectiveAST*);
    virtual void parseTypedef(TypedefAST*);
    virtual void parseTemplateDeclaration(TemplateDeclarationAST*);
    virtual void parseSimpleDeclaration(SimpleDeclarationAST*);
    virtual void parseFunctionDefinition(FunctionDefinitionAST*);
    virtual void parseLinkageBody(LinkageBodyAST*);
    virtual void parseAccessDeclaration(AccessDeclarationAST*);

    // type-specifier
    virtual void parseTypeSpecifier(TypeSpecifierAST*);
    virtual void parseClassSpecifier(ClassSpecifierAST*);
    virtual void parseEnumSpecifier(EnumSpecifierAST*);
    virtual void parseElaboratedTypeSpecifier(ElaboratedTypeSpecifierAST*);

private:
    TreeParser(const TreeParser& source);
    void operator = (const TreeParser& source);
};

#endif // __tree_parser_h