RPA Toolkit
work on record bitmap
authorMartin Stoilov <martin@rpasearch.com>
Fri, 15 Jul 2011 03:44:03 +0000 (20:44 -0700)
committerMartin Stoilov <martin@rpasearch.com>
Wed, 20 Jul 2011 05:32:35 +0000 (22:32 -0700)
rpa/build/darwin/rpa.mk
rpa/build/linux/rpa.mk
rpa/build/windows/rpa.mk
rpa/rpabitmap.c [new file with mode: 0644]
rpa/rpabitmap.h [new file with mode: 0644]
rpa/rparecord.c

index 789debb..0141604 100644 (file)
@@ -17,6 +17,8 @@ RPA_OBJECTS = \
        $(OUTDIR)/rpacompiler.o \
        $(OUTDIR)/rpaparser.o \
        $(OUTDIR)/rpaoptimization.o \
+       $(OUTDIR)/rpabitmap.o \
+       
 
 all: $(OUTDIR) $(TARGET_RPA_LIB)
 
index 2d1601f..e9e164f 100644 (file)
@@ -18,6 +18,7 @@ RPA_OBJECTS = \
        $(OUTDIR)/rpacompiler.o \
        $(OUTDIR)/rpaparser.o \
        $(OUTDIR)/rpaoptimization.o \
+       $(OUTDIR)/rpabitmap.o \
 
 
 ifeq ($(OS), linux)
index 979e357..c126700 100644 (file)
@@ -8,6 +8,7 @@ LINK32_OBJS= \
        "$(OUTDIR)\rpacompiler.obj" \\r
        "$(OUTDIR)\rpaparser.obj" \\r
        "$(OUTDIR)\rpaoptimization.obj" \\r
+       "$(OUTDIR)\rpabitmap.obj" \\r
 \r
 \r
 ALL : "$(OUTDIR)\$(TARGET)"\r
@@ -58,3 +59,8 @@ SOURCE="$(SRC_DIR)\rpaparser.c"
 SOURCE="$(SRC_DIR)\rpaoptimization.c"\r
 "$(OUTDIR)\rpaoptimization.obj" : $(SOURCE) $(OUTDIR)\r
     $(CPP) $(CPP_FLAGS) $(SOURCE)\r
+    \r
+SOURCE="$(SRC_DIR)\rpabitmap.c"\r
+"$(OUTDIR)\rpabitmap.obj" : $(SOURCE) $(OUTDIR)\r
+    $(CPP) $(CPP_FLAGS) $(SOURCE)\r
\ No newline at end of file
diff --git a/rpa/rpabitmap.c b/rpa/rpabitmap.c
new file mode 100644 (file)
index 0000000..c956b29
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ *  Regular Pattern Analyzer (RPA)
+ *  Copyright (c) 2009-2010 Martin Stoilov
+ *
+ *  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 <http://www.gnu.org/licenses/>.
+ *
+ *  Martin Stoilov <martin@rpasearch.com>
+ */
+
+#include "rpa/rpabitmap.h"
+
+
+long rpa_bitmap_set(rarray_t *records, long rec, rpointer userdata)
+{
+
+       return 0;
+}
diff --git a/rpa/rpabitmap.h b/rpa/rpabitmap.h
new file mode 100644 (file)
index 0000000..e55a424
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ *  Regular Pattern Analyzer (RPA)
+ *  Copyright (c) 2009-2010 Martin Stoilov
+ *
+ *  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 <http://www.gnu.org/licenses/>.
+ *
+ *  Martin Stoilov <martin@rpasearch.com>
+ */
+
+#ifndef _RPABITMAP_H_
+#define _RPABITMAP_H_
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "rtypes.h"
+#include "rpa/rpadbex.h"
+#include "rpa/rparecord.h"
+
+#define RPA_BITMAP_SIZE (sizeof(rword))
+#define RPA_BITMAP_BITS (RPA_BITMAP_SIZE*8)
+
+long rpa_bitmap_set(rarray_t *records, long rec, rpointer userdata);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
index 53dca3c..5261f90 100644 (file)
@@ -360,8 +360,12 @@ void rpa_record_dump(rarray_t *records, long rec)
        n += r_snprintf(buf + n, n < bufsize ? bufsize - n : 0, "%s ", prec->rule);
 
        r_memset(buf + n, ' ', bufsize - n);
-       n = 115;
-       n += r_snprintf(buf + n, n < bufsize ? bufsize - n : 0, " %5d, %3d", prec->top, prec->size);
+       n = 90;
+       n += r_snprintf(buf + n, n < bufsize ? bufsize - n : 0, " %5d, %4d", prec->top, prec->size);
+
+       r_memset(buf + n, ' ', bufsize - n);
+       n = 105;
+       n += r_snprintf(buf + n, n < bufsize ? bufsize - n : 0, "[ 0x%016x ]", prec->userdata);
 
        r_memset(buf + n, ' ', bufsize - n);
        n = 130;