From 3d5e9399c412a0a9191847b949403da0921bd3d7 Mon Sep 17 00:00:00 2001
From: "Meredith L. Patterson" <clonearmy@gmail.com>
Date: Fri, 18 May 2012 11:44:38 +0200
Subject: [PATCH] Merged TQ's changes. Started on attr_bool and action.

---
 src/hammer.c | 11 ++++++++++-
 src/hammer.h |  2 +-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/hammer.c b/src/hammer.c
index fb3d62a9..6f60c959 100644
--- a/src/hammer.c
+++ b/src/hammer.c
@@ -744,7 +744,6 @@ const parser_t* epsilon_p() {
   return res;
 }
 
-
 static parse_result_t* parse_indirect(void* env, parse_state_t* state) {
   return do_parse(env, state);
 }
@@ -759,7 +758,17 @@ parser_t* indirect() {
   return res;
 }
 
+typedef struct {
+  predicate_t pred;
+} attr_bool_t;
+
+static parse_result_t* parse_attr_bool(void *env, parse_state_t *state) {
+
+
+}
+
 const parser_t* attr_bool(const parser_t* p, attr_bool_t a) { return &unimplemented; }
+
 const parser_t* and(const parser_t* p) { return &unimplemented; }
 
 static parse_result_t* parse_not(void* env, parse_state_t* state) {
diff --git a/src/hammer.h b/src/hammer.h
index c3c2cf7b..915f7ac3 100644
--- a/src/hammer.h
+++ b/src/hammer.h
@@ -78,7 +78,7 @@ typedef struct parse_result {
 typedef parse_result_t* (*action_t)(parse_result_t *p);
 
 /* Type of a boolean attribute-checking function, used in the attr_bool() parser. */
-typedef int (*attr_bool_t)(void *env);
+typedef int (*predicate_t)(parse_result_t *p);
 
 typedef struct parser {
   parse_result_t* (*fn)(void *env, parse_state_t *state);
-- 
GitLab