mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-22 16:30:49 +00:00
34 lines
686 B
C
34 lines
686 B
C
|
#ifndef DBMS_PARSERS_IAST_H
|
|||
|
#define DBMS_PARSERS_IAST_H
|
|||
|
|
|||
|
#include <list>
|
|||
|
#include <Poco/SharedPtr.h>
|
|||
|
|
|||
|
#include <DB/Core/Types.h>
|
|||
|
#include <DB/Parsers/StringRange.h>
|
|||
|
|
|||
|
|
|||
|
namespace DB
|
|||
|
{
|
|||
|
|
|||
|
using Poco::SharedPtr;
|
|||
|
|
|||
|
|
|||
|
/** Элемент синтаксического дерева (в дальнейшем - направленного ациклического графа с элементами семантики)
|
|||
|
*/
|
|||
|
class IAST
|
|||
|
{
|
|||
|
public:
|
|||
|
/** Получить кусок текста, откуда был получен этот элемент. */
|
|||
|
virtual StringRange getRange() = 0;
|
|||
|
virtual ~IAST() {}
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
typedef Poco::SharedPtr<IAST> ASTPtr;
|
|||
|
typedef std::list<ASTPtr> ASTs;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endif
|