Changeset 2570


Ignore:
Timestamp:
Oct 26, 2012, 5:05:09 PM (7 years ago)
Author:
ksherdy
Message:

Updated Makefile, compilable, template.

Location:
proto/PDF
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • proto/PDF/Makefile

    r2560 r2570  
    44PABLO_SRC=pdf.py
    55PABLO_TEMPLATE=pablo_template_pdf.cpp
    6 PABLO_ADD_DEBUG=#-a -b
     6PABLO_ADD_DEBUG=-a -b
    77
    88all: pablo
    99
    1010pablo:  $(PABLO_SRC)
    11         python $(PABLO_COMPILER) $(PABLO_SRC) -t $(PABLO_TEMPLATE) -o $(OUTFILE)
     11        python $(PABLO_COMPILER) $(PABLO_SRC) -t $(PABLO_TEMPLATE) $(PABLO_ADD_DEBUG) -o $(OUTFILE)
    1212
    1313pablo_help:
  • proto/PDF/pablo_template_pdf.cpp

    r2569 r2570  
    77using namespace std;
    88
    9 #define PDF_DEBUG
    10 
    11 #define depth 0
    12 
    13 #define inc()\
    14         depth++;
    15 
    16 #define dec()\
    17         depth--;
    18 
    19 #define lt_zero()\
    20         (depth < 0)
    21 
    22 #define gt_zero()\
    23         (depth > 0)
    24 
    25 #define is_zero()\
    26         (0==depth)
    27 
    289#define LocalCarryDeclare(name, count)\
    2910CarryArray<count, 0> name;\
     
    3516#include <simd-lib/buffer.hpp>
    3617#include <perflib/perfsec.h>
     18
     19static unsigned int depth = 0;
     20
     21static inline void inc() {
     22        depth++;
     23}
     24
     25static inline void dec() {
     26        depth--;
     27}
     28
     29static BitBlock lt_zero() {
     30        if (depth < 0) {
     31                return simd<1>::constant<0>();
     32        } else {
     33                return simd<1>::constant<1>();
     34        }
     35}
     36
     37static BitBlock ge_zero() {
     38        if (depth > 0) {
     39                return simd<1>::constant<0>();
     40        } else {
     41                return simd<1>::constant<1>();
     42        }
     43}
     44
     45static BitBlock is_zero() {
     46        if (0 == depth) {
     47                return simd<1>::constant<0>();
     48        } else {
     49                return simd<1>::constant<1>();
     50        }
     51}
    3752
    3853// Define the mappings for pablo.assert_0(strm, errkind) statements which
  • proto/PDF/pdf.py

    r2569 r2570  
    6666class Keywords_Callouts() :
    6767        starts = 0
    68         ends = 0
     68        follows = 0
    6969       
    7070class Arrays_Callouts() :
     
    164164
    165165
    166 
    167 #def simd_const_4(hexdigit, EOF_mask):
    168 #       lgth = pablo.count_leading_zeroes(~EOF_mask)/4
    169 #       return int(hexdigit*(lgth+1),16)&EOF_mask
    170 
    171 
    172 def Parse_Escaped(lex, escaped_Callouts):
     166def Parse_Escaped(lex, parity, escaped_Callouts):
    173167
    174168  #odd = simd_const_4('a',pablo.EOF_mask) 
    175169        #even = simd_const_4('5',pablo.EOF_mask)
     170
     171        odd = parity.odd
     172        even = parity.even
    176173
    177174        start = lex.Backslash &~ pablo.Advance(lex.Backslash)
     
    315312                # Generate parity odd/even streams
    316313                Parse_Escaped(lex, parity, escaped_Callouts)
    317 #               Parse_CommentsLiteralStrings(lex, escaped_Callouts, marker, comments_Callouts, literalStrings_Callouts)
    318 #               Parse_Names(lex, marker, names_Callouts)
    319 #               Parse_HexStrings(lex, marker, hexStrings_Callouts)
    320 #               Parse_Numeric(lex, marker, numeric_Callouts)
    321 #               Parse_Keywords(lex, marker, keywords_Callouts)
    322 #               Parse_Arrays(lex, marker, arrays_Callouts)
    323        
     314                Parse_CommentsLiteralStrings(lex, escaped_Callouts, marker, comments_Callouts, literalStrings_Callouts)
     315                Parse_Names(lex, marker, names_Callouts)
     316                Parse_HexStrings(lex, marker, hexStrings_Callouts)
     317                Parse_Numeric(lex, marker, numeric_Callouts)
     318                Parse_Keywords(lex, marker, keywords_Callouts)
     319                Parse_Arrays(lex, marker, arrays_Callouts)
     320       
Note: See TracChangeset for help on using the changeset viewer.