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
recognizer.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 RECOGNIZER_H
5#define RECOGNIZER_H
6
7#include "grammar_p.h"
8
9#include "lalr.h"
10
11#include <QtCore/qdebug.h>
12#include <QtCore/qstring.h>
13#include <QtCore/qfile.h>
14#include <QtCore/qtextstream.h>
15
16#include <cstdlib>
17
18class Recognizer: protected grammar
19{
20public:
21 Recognizer (Grammar *grammar, bool no_lines);
23
24 bool parse (const QString &input_file = QString ());
25
26 inline QString decls () const { return _M_decls; }
27 inline QString impls () const { return _M_impls; }
28
29protected:
30 inline void reallocateStack ();
31
32 inline QString &sym (int index)
33 { return sym_stack [tos + index - 1]; }
34
35protected: // scanner
36 int nextToken();
37
38 inline void inp ()
39 {
41 {
42 ch = *_M_currentChar++;
43
44 if (ch == u'\n')
45 ++_M_line;
46 }
47 else
48 ch = QChar();
49 }
50
51 QString expand (const QString &text) const;
52
53protected:
54 // recognizer
55 int tos;
57 QList<QString> sym_stack;
59
64
65 // scanner
72
77};
78
79#endif // RECOGNIZER_H
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
bool parse(const QString &input_file=QString())
int stack_size
Definition recognizer.h:56
QString::const_iterator _M_firstChar
Definition recognizer.h:61
Grammar * _M_grammar
Definition recognizer.h:69
QString _M_decls
Definition recognizer.h:73
int * state_stack
Definition recognizer.h:58
QString::const_iterator _M_currentChar
Definition recognizer.h:63
RulePointer _M_current_rule
Definition recognizer.h:70
QString expand(const QString &text) const
Definition main.cpp:130
QString _M_input_file
Definition recognizer.h:71
QList< QString > sym_stack
Definition recognizer.h:57
QString & sym(int index)
Definition recognizer.h:32
QString _M_impls
Definition recognizer.h:74
int _M_action_line
Definition recognizer.h:68
QString decls() const
Definition recognizer.h:26
bool _M_no_lines
Definition recognizer.h:76
void reallocateStack()
QString _M_contents
Definition recognizer.h:60
QString impls() const
Definition recognizer.h:27
void inp()
Definition recognizer.h:38
int nextToken()
QString _M_current_value
Definition recognizer.h:75
Recognizer(Grammar *grammar, bool no_lines)
QString::const_iterator _M_lastChar
Definition recognizer.h:62
QString text
debug_infot::iterator RulePointer
Definition lalr.h:38
GLuint index
[2]