Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
cppgenerator.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef CPPGENERATOR_H
5#define CPPGENERATOR_H
6
7#include "lalr.h"
8#include "compress.h"
9
10class Grammar;
11class Automaton;
12class Recognizer;
13
15{
16public:
17 CppGenerator(const Recognizer &p, Grammar &grammar, Automaton &aut, bool verbose):
18 p (p),
20 aut (aut),
21 verbose (verbose),
22 debug_info (false),
23 copyright (false),
24 warnings_are_errors(false) {}
25
26 void operator () ();
27
28 bool debugInfo () const { return debug_info; }
29 void setDebugInfo (bool d) { debug_info = d; }
30
31 void setCopyright (bool t) { copyright = t; }
32
33 void setWarningsAreErrors (bool e) { warnings_are_errors = e; }
34
35private:
36 void generateDecl (QTextStream &out);
37 void generateImpl (QTextStream &out);
38
39 QString debugInfoProt() const;
40 QString copyrightHeader() const;
41 QString privateCopyrightHeader() const;
42
43private:
44 static QString startIncludeGuard(const QString &fileName);
45 static QString endIncludeGuard(const QString &fileName);
46
47 const Recognizer &p;
49 Automaton &aut;
50 bool verbose;
51 int accept_state;
52 int state_count;
53 int terminal_count;
54 int non_terminal_count;
55 bool debug_info;
56 bool copyright;
57 bool warnings_are_errors;
58 Compress compressed_action;
59 Compress compressed_goto;
60 QList<int> count;
61 QList<int> defgoto;
62};
63
64#endif // CPPGENERATOR_H
bool debugInfo() const
CppGenerator(const Recognizer &p, Grammar &grammar, Automaton &aut, bool verbose)
void setWarningsAreErrors(bool e)
void setDebugInfo(bool d)
void setCopyright(bool t)
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
GLenum GLenum GLsizei count
GLdouble GLdouble t
Definition qopenglext.h:243
GLfloat GLfloat p
[1]
QTextStream out(stdout)
[7]