From d95bd55c96a0e5c7e34302e2ef3f555cf8ba1fae Mon Sep 17 00:00:00 2001 From: "K.Kosako" Date: Thu, 8 Jun 2017 14:34:17 +0900 Subject: [PATCH] define NODE_STATUS macro --- src/regparse.h | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/regparse.h b/src/regparse.h index d20c132..bc50802 100644 --- a/src/regparse.h +++ b/src/regparse.h @@ -132,24 +132,25 @@ #define NST_NEST_LEVEL (1<<13) #define NST_BY_NUMBER (1<<14) /* {n,m} */ +#define NODE_STATUS(node) (((Node* )node)->u.base.status) #define NODE_STATUS_SET(node,f) ((node)->u.base.status |= (f)) #define NODE_STATUS_CLEAR(node,f) ((node)->u.base.status &= ~(f)) -#define NODE_IS_BY_NUMBER(node) (((node)->u.base.status & NST_BY_NUMBER) != 0) -#define NODE_IS_IN_REPEAT(node) (((node)->u.base.status & NST_IN_REPEAT) != 0) -#define NODE_IS_CALLED(node) (((node)->u.base.status & NST_CALLED) != 0) -#define NODE_IS_RECURSION(node) (((node)->u.base.status & NST_RECURSION) != 0) +#define NODE_IS_BY_NUMBER(node) ((NODE_STATUS(node) & NST_BY_NUMBER) != 0) +#define NODE_IS_IN_REPEAT(node) ((NODE_STATUS(node) & NST_IN_REPEAT) != 0) +#define NODE_IS_CALLED(node) ((NODE_STATUS(node) & NST_CALLED) != 0) +#define NODE_IS_RECURSION(node) ((NODE_STATUS(node) & NST_RECURSION) != 0) #define NODE_IS_STOP_BT_SIMPLE_REPEAT(node) \ - (((node)->u.base.status & NST_STOP_BT_SIMPLE_REPEAT) != 0) -#define NODE_IS_NAMED_GROUP(node) (((node)->u.base.status & NST_NAMED_GROUP) != 0) -#define NODE_IS_ADDR_FIXED(node) (((node)->u.base.status & NST_ADDR_FIXED) != 0) -#define NODE_IS_CLEN_FIXED(node) (((node)->u.base.status & NST_CLEN_FIXED) != 0) -#define NODE_IS_MIN_FIXED(node) (((node)->u.base.status & NST_MIN_FIXED) != 0) -#define NODE_IS_MAX_FIXED(node) (((node)->u.base.status & NST_MAX_FIXED) != 0) -#define NODE_IS_MARK1(node) (((node)->u.base.status & NST_MARK1) != 0) -#define NODE_IS_MARK2(node) (((node)->u.base.status & NST_MARK2) != 0) -#define NODE_IS_NEST_LEVEL(node) (((node)->u.base.status & NST_NEST_LEVEL) != 0) -#define NODE_IS_NAME_REF(node) (((node)->u.base.status & NST_NAME_REF) != 0) + ((NODE_STATUS(node) & NST_STOP_BT_SIMPLE_REPEAT) != 0) +#define NODE_IS_NAMED_GROUP(node) ((NODE_STATUS(node) & NST_NAMED_GROUP) != 0) +#define NODE_IS_ADDR_FIXED(node) ((NODE_STATUS(node) & NST_ADDR_FIXED) != 0) +#define NODE_IS_CLEN_FIXED(node) ((NODE_STATUS(node) & NST_CLEN_FIXED) != 0) +#define NODE_IS_MIN_FIXED(node) ((NODE_STATUS(node) & NST_MIN_FIXED) != 0) +#define NODE_IS_MAX_FIXED(node) ((NODE_STATUS(node) & NST_MAX_FIXED) != 0) +#define NODE_IS_MARK1(node) ((NODE_STATUS(node) & NST_MARK1) != 0) +#define NODE_IS_MARK2(node) ((NODE_STATUS(node) & NST_MARK2) != 0) +#define NODE_IS_NEST_LEVEL(node) ((NODE_STATUS(node) & NST_NEST_LEVEL) != 0) +#define NODE_IS_NAME_REF(node) ((NODE_STATUS(node) & NST_NAME_REF) != 0) #define NODE_BODY(node) ((node)->u.base.body) #define NODE_QTFR_BODY(node) ((node)->body) -- 2.40.0