Flex/Bison based compiler and interpreter written in C++ (using Boost)
File detail
Source code
/*
* Copyright (C) 2008 Kamil Dudka <xdudka00@stud.fit.vutbr.cz>
*
* This file is part of vyp08 (compiler and interpreter of VYP08 language).
*
* vyp08 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.
*
* vyp08 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 vyp08. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef CONFIG_H
#define CONFIG_H
/* if non-zero, turn on colorized console output (stderr only) */
#define CONSOLE_COLOR_OUTPUT 1
/* ************************************************************************** */
/* diagnostic configuration, zero means "turn this diagnostic off" */
#define DEBUG_TRACE_CALL 0
#define DEBUG_TRACE_CMD_LIST_EXEC 0
#define DEBUG_BISON_LISTENER_STACK 0
#define DEBUG_TRACE_VMSTACK 0
#define DEBUG_TRACE_TYPESTACK 0
/* ************************************************************************** */
/* define different macros for Doxygen and ordinary build */
#ifdef BUILDING_DOX
/* use native pointer instead of boost::shared_ptr while building dox */
#define SHARED_PTR(T) T*
/* use native C array instead of std::map while building dox */
#define STD_MAP(T1, T2) T2*
/* use user defined struct instead of std::pair while building dox */
#define STD_PAIR(T1, T2) struct {T1 first; T2 second;}
/* use native C array instead of std::priority_queue while building dox */
#define STD_PRIORITY_QUEUE(T) T*
/* use native C array instead of std::set while building dox */
#define STD_SET(T) T*
/* use native C array instead of std::stack while building dox */
#define STD_STACK(T) T*
/* use native C array instead of std::vector while building dox */
#define STD_VECTOR(T) T*
#else /* BUILDING_DOX */
/* use what ought to be used while building code */
#define SHARED_PTR(T) boost::shared_ptr<T>
#define STD_MAP(T1, T2) std::map<T1, T2>
#define STD_PAIR(T1, T2) std::pair<T1, T2>
#define STD_PRIORITY_QUEUE(T) std::priority_queue<T>
#define STD_SET(T) std::set<T>
#define STD_STACK(T) std::stack<T>
#define STD_VECTOR(T) std::vector<T>
#endif /* BUILDING_DOX */
#endif /* CONFIG_H */