#ifndef __VALUES_KEYWORD_H #define __VALUES_KEYWORD_H /* 5D programming language Copyright (C) 2011 Danny Milosavljevic 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 (at your option) 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 . */ #ifdef __GNUC__ #define G_5D_GNUC_PURE __attribute__ ((pure)) #else #define G_5D_GNUC_PURE #endif namespace Values { struct Keyword : Node { const char* name; }; NodeT keywordFromStr(const char* name) G_5D_GNUC_PURE; static inline bool keyword_P(NodeT argument) { return(dynamic_cast(argument) != NULL); } static inline const char* get_keyword_name(NodeT argument) { return(((Keyword*) argument)->name); } void debugKeywords(void); }; #endif /* ndef __VALUES_KEYWORD_H */