diff --git a/src/syntax.c b/src/syntax.c index 4e4971f..c0fa0cf 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -2,6 +2,10 @@ #include "syntax.h" +bool se_istraversable(struct SyntaxElement* syntaxtree) { + return syntaxtree->type == TREE && syntaxtree->content != NULL; +} + struct SyntaxElement* se_create(void) { struct SyntaxElement* syntaxelement = malloc(sizeof(struct SyntaxElement)); syntaxelement->type = NONE; diff --git a/src/syntax.h b/src/syntax.h index 5a8b1e5..83e83a9 100644 --- a/src/syntax.h +++ b/src/syntax.h @@ -1,5 +1,7 @@ #ifndef SYNTAX_H #define SYNTAX_H +#include + enum SyntaxElementType { TREE, TOKEN, @@ -16,6 +18,7 @@ struct SyntaxElement { }; void se_clean(struct SyntaxElement* syntaxtree); +bool se_istraversable(struct SyntaxElement* syntaxtree); struct SyntaxElement* se_create(void); struct SyntaxElement* se_init(void); struct SyntaxElement* se_bottom(struct SyntaxElement* syntaxelement);