File: xml2qnfa.h

package info (click to toggle)
texstudio 2.3%2Bdebian-3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 20,992 kB
  • sloc: cpp: 61,734; ansic: 4,300; xml: 726; sh: 125; makefile: 25
file content (34 lines) | stat: -rw-r--r-- 858 bytes parent folder | download
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
#ifndef XML2QNFA_H
#define XML2QNFA_H

#include "mostQtHeaders.h"

class QFormatScheme;
class QNFA;
class QXml2NFAParser{
public:
	QXml2NFAParser(QFormatScheme *formatScheme, QHash<QString, int>& parenthesisIds, QHash<int, int>& parenthesisWeights, QHash<QString, int>& openingParenthesis, QHash<int, QString>& closingParenthesis);
	QString *singleLineCommentTarget;

	void fillContext(QNFA *cxt, QDomElement e, bool cs);
private:
	int pid(const QString& s);
	int action(QDomElement c, int fid = 0);

	void fillContext(QNFA *cxt, QDomNodeList l, bool cs);

	void addToContext(QNFA *cxt, QDomElement c, int fid,
			const QStringList& pref,
			const QStringList& suff,
			bool cs);


	QFormatScheme *f;
	QHash<QString, int>& pids;
	QHash<int, int>& parenWeight;

	QHash<QString, int>& parenOpening;
	QHash<int, QString>& parenClosing;
};

#endif // XML2QNFA_H