##// END OF EJS Templates
First Init, kicad lisp-like files abstract parser done.
First Init, kicad lisp-like files abstract parser done.

File last commit:

r0:bd5e6825bd26 default
r0:bd5e6825bd26 default
Show More
lispLike_driver.h
49 lines | 1.1 KiB | text/x-c | CLexer
#ifndef LISPLIKE_DRIVER_H
#define LISPLIKE_DRIVER_H
#include <string>
#include "lispLike_scanner.h"
#include <lispLike/lispLike.hpp>
#include <QString>
#include <QList>
#include <QStringList>
#include <iostream>
#include <cstdlib>
#include <fstream>
namespace QIlib{
class AbstractNode
{
public:
AbstractNode( QIlib::AbstractNode* parent=NULL);
AbstractNode(const QString& Name, QIlib::AbstractNode* parent=NULL);
AbstractNode(const QString& Name,const QString& Value, QIlib::AbstractNode* parent=NULL);
QString print();
QList<QIlib::AbstractNode*> nodes;
QString name;
QStringList Values;
QIlib::AbstractNode* parent;
};
class lispLike_Driver
{
public:
lispLike_Driver();
virtual ~lispLike_Driver();
bool parse( const char *filename );
void add_node( const QString &node );
void add_node( const QString &node , const QString &value);
void add_value( const QString &value );
void close_node();
protected:
QIlib::lispLike_Parser *parser;
QIlib::lispLike_Scanner *scanner;
QIlib::AbstractNode rootNode;
QIlib::AbstractNode* currentNode;
};
}
#endif // LISPLIKE_DRIVER_H