diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-06 19:50:16 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-06 19:50:16 +0300 |
commit | 51096a574a96d741fe875d5bd954f9fea382aacb (patch) | |
tree | 6bc03f40a52894e0035618da3b7124558c2c5bb8 /src/nodes/type | |
parent | e672f8cabc8811d6071d0a08aa481b706a7f175e (diff) | |
download | paranucker-51096a574a96d741fe875d5bd954f9fea382aacb.tar.gz paranucker-51096a574a96d741fe875d5bd954f9fea382aacb.tar.bz2 paranucker-51096a574a96d741fe875d5bd954f9fea382aacb.tar.xz paranucker-51096a574a96d741fe875d5bd954f9fea382aacb.zip |
Move nodes and parsers to dirs based on types.
Diffstat (limited to 'src/nodes/type')
-rw-r--r-- | src/nodes/type/function_type.h | 42 | ||||
-rw-r--r-- | src/nodes/type/integer_type.h | 52 | ||||
-rw-r--r-- | src/nodes/type/pointer_type.h | 38 | ||||
-rw-r--r-- | src/nodes/type/void_type.h | 35 |
4 files changed, 167 insertions, 0 deletions
diff --git a/src/nodes/type/function_type.h b/src/nodes/type/function_type.h new file mode 100644 index 0000000..7c90104 --- /dev/null +++ b/src/nodes/type/function_type.h @@ -0,0 +1,42 @@ +/* + * 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 <http://www.gnu.org/licenses/>. + */ + +#ifndef NODES_FUNCTIONTYPENODE_H +#define NODES_FUNCTIONTYPENODE_H + +#include "nodes/base/type.h" + +#include "nodes/list/tree_list.h" + +#include <string> + +struct FunctionTypeNode : public TypeNode +{ + FunctionTypeNode() : + TypeNode(), + returnType(nullptr), + argTypes(nullptr) + { + } + + TypeNode *returnType; + TreeListNode *argTypes; +}; + +#endif // NODES_FUNCTIONTYPENODE_H diff --git a/src/nodes/type/integer_type.h b/src/nodes/type/integer_type.h new file mode 100644 index 0000000..ae6747c --- /dev/null +++ b/src/nodes/type/integer_type.h @@ -0,0 +1,52 @@ +/* + * 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 <http://www.gnu.org/licenses/>. + */ + +#ifndef NODES_INTEGERTYPENODE_H +#define NODES_INTEGERTYPENODE_H + +#include "nodes/cst/integer_cst.h" + +#include "nodes/base/type.h" + +#include <string> + +struct IntegerTypeNode : public TypeNode +{ + IntegerTypeNode() : + TypeNode(), + typeSize(nullptr), + minValue(nullptr), + maxValue(nullptr), + precisionBits(0), + sizeBits(0), + isChar(false), + isUnsigned(false) + { + } + + IntegerCstNode *typeSize; + IntegerCstNode *minValue; + IntegerCstNode *maxValue; + int precisionBits; + int sizeBits; + bool isChar; + bool isUnsigned; +}; + +#endif // NODES_INTEGERTYPENODE_H diff --git a/src/nodes/type/pointer_type.h b/src/nodes/type/pointer_type.h new file mode 100644 index 0000000..f93bfd3 --- /dev/null +++ b/src/nodes/type/pointer_type.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 <http://www.gnu.org/licenses/>. + */ + +#ifndef NODES_POINTERTYPENODE_H +#define NODES_POINTERTYPENODE_H + +#include "nodes/base/type.h" + +#include <string> + +struct PointerTypeNode : public TypeNode +{ + PointerTypeNode() : + TypeNode(), + nestedType(nullptr) + { + } + + TypeNode *nestedType; +}; + +#endif // NODES_POINTERTYPENODE_H diff --git a/src/nodes/type/void_type.h b/src/nodes/type/void_type.h new file mode 100644 index 0000000..c6292d1 --- /dev/null +++ b/src/nodes/type/void_type.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 <http://www.gnu.org/licenses/>. + */ + +#ifndef NODES_VOIDTYPENODE_H +#define NODES_VOIDTYPENODE_H + +#include "nodes/base/type.h" + +#include <string> + +struct VoidTypeNode : public TypeNode +{ + VoidTypeNode() : + TypeNode() + { + } +}; + +#endif // NODES_VOIDTYPENODE_H |