QtNovelUI/DesParser/ParseFrame.h

31 lines
681 B
C
Raw Normal View History

2022-11-06 00:37:50 +00:00
#pragma once
#include <QString>
#include <QList>
#include "SyntaxBase.h"
namespace Parse
{
/**
* .
*/
class ParseFrame
{
public:
explicit ParseFrame();
virtual ~ParseFrame() = default;
QList<DesNode*> analysis(DocCore *doc, const QString &path);
protected:
void appendTokensDefine(QList<Lex::LexUnit> seqs, const QString &unknown_token);
void appendParser(SyntaxParser* u);
private:
QString unknown_token;
QList<Lex::LexUnit> token_seqs;
QList<SyntaxParser*> cascade_parsers;
Parse::ParseResult Parse::ParseFrame::inner_parse(QList<Lex::LexResult> &lex_seqence, QList<SyntaxParser*> parsers, QList<DesNode*> &nodes_out);
};
}