From b97b0b653af25997c85bbd0651e09d02a84620ef Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 13 Jun 2015 20:55:18 +0300 Subject: Add way to parse *_vec nodes. Add parsing node TREE_VEC. --- src/nodes/base/vec.h | 35 +++++++++++++++++++++++++++++++++++ src/nodes/vec/tree_vec.h | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 src/nodes/base/vec.h create mode 100644 src/nodes/vec/tree_vec.h (limited to 'src/nodes') diff --git a/src/nodes/base/vec.h b/src/nodes/base/vec.h new file mode 100644 index 0000000..747a7fa --- /dev/null +++ b/src/nodes/base/vec.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2015 Andrei Karas + * + * This file is part of AstDumper. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef NODES_BASE_VECNODE_H +#define NODES_BASE_VECNODE_H + +#include "nodes/base/node.h" + +#include + +struct VecNode : public Node +{ + VecNode() : + Node() + { + } +}; + +#endif // NODES_BASE_VECNODE_H diff --git a/src/nodes/vec/tree_vec.h b/src/nodes/vec/tree_vec.h new file mode 100644 index 0000000..cba66cc --- /dev/null +++ b/src/nodes/vec/tree_vec.h @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2015 Andrei Karas + * + * This file is part of AstDumper. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef NODES_VEC_TREEVECNODE_H +#define NODES_VEC_TREEVECNODE_H + +#include "nodes/base/vec.h" + +#include + +struct TreeVecNode : public VecNode +{ + TreeVecNode() : + VecNode(), + args() + { + } + + std::vector args; +}; + +#endif // NODES_VEC_TREEVECNODE_H -- cgit v1.2.3-60-g2f50