Changeset 74 for trunk


Ignore:
Timestamp:
Mar 27, 2008, 9:29:40 AM (11 years ago)
Author:
cameron
Message:

markup_stats.cxx updates reflecting reorganization

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r65 r74  
    11CC= g++ $(CFLAGS)
    2 CFLAGS= -O3
     2CFLAGS= -O3 -g
    33OS = $(shell uname)
    44ICONV_FLAGS=
     
    77endif
    88
    9 markup_stats:   markup_stats.cxx src/xmlbuffer.h src/multiliteral.h src/engine.h\
    10                 src/transpose.h src/bitlex.h src/xmlbuffer.c src/bitlex.c src/engine.c\
    11                 lib/lib_simd.h lib/sse_simd.h\
     9markup_stats:   markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
     10                src/transpose.h src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
     11                lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
     12                src/bitplex.h src/bitplex.c src/xmlmodel.h src/xmlmodel.c\
    1213                src/bytelex.h src/charsets/ASCII_EBCDIC.h
    1314        $(CC) -o markup_stats markup_stats.cxx -march=pentium4
    1415
    15 markup_stats_64:        markup_stats.cxx src/xmlbuffer.h src/multiliteral.h src/engine.h\
    16                 src/transpose.h src/bitlex.h src/xmlbuffer.c src/bitlex.c src/engine.c\
    17                 lib/lib_simd.h lib/sse_simd.h\
     16markup_stats_64:        markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
     17                src/transpose.h src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
     18                lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
    1819                src/bytelex.h src/charsets/ASCII_EBCDIC.h
    1920        $(CC) -o markup_stats_64 markup_stats.cxx -march=nocona -m64
    2021
    21 markup_stats_omp:       markup_stats.cxx src/xmlbuffer.h src/multiliteral.h src/engine.h\
    22                 src/transpose.h src/bitlex.h src/xmlbuffer.c src/bitlex.c src/engine.c\
    23                 lib/lib_simd.h lib/sse_simd.h\
     22markup_stats_omp:       markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
     23                src/transpose.h src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
     24                lib/lib_simd.h lib/sse_simd.h src/xmldecl.h src/xmldecl.c\
    2425                src/bytelex.h src/charsets/ASCII_EBCDIC.h
    2526        g++-4.2 -O3 -lgomp -fopenmp -o markup_stats_omp markup_stats.cxx -march=nocona -m64
    2627
    27 markup_stats_g4:         markup_stats.cxx src/xmlbuffer.h src/multiliteral.h src/engine.h\
    28                 src/transpose.h src/bitlex.h src/xmlbuffer.c src/bitlex.c src/engine.c\
    29                 lib/altivec_simd.h\
     28markup_stats_g4:         markup_stats.cxx src/byteplex.h src/multiliteral.h src/engine.h\
     29                src/transpose.h src/bitlex.h src/byteplex.c src/bitlex.c src/engine.c\
     30                lib/altivec_simd.h src/xmldecl.h src/xmldecl.c\
    3031                src/bytelex.h src/charsets/ASCII_EBCDIC.h
    3132        $(CC) -o markup_stats_g4 markup_stats.cxx -maltivec -faltivec
     33clean: 
     34        rm -f markup_stats
  • trunk/markup_stats.cxx

    r65 r74  
    3434
    3535/* Internals */
    36 #include "src/xmlbuffer.h"
    37 #include "src/xmlbuffer.c"
     36#include "src/xmlmodel.h"
     37#include "src/bitplex.h"
     38#include "src/byteplex.h"
     39#include "src/xmldecl.h"
    3840#include "src/bitlex.h"
     41
     42
     43#include "src/xmlmodel.c"
     44#include "src/bitplex.c"
     45#include "src/byteplex.c"
     46#include "src/xmldecl.c"
    3947#include "src/bitlex.c"
    4048#include "src/engine.c"
     
    7785int last_buffer_rel_pos = 0;
    7886
     87void LastItemAction(int start_pos, int end_pos, int buffer_rel_pos) {
     88#ifdef DEBUG
     89        if (start_pos < last_item_stop) {
     90                printf("Anomaly start_pos %i < last_item_stop_pos %i \n", start_pos, last_item_stop);
     91                printf("rel_positions: last = %i, this = %i\n", last_buffer_rel_pos, buffer_rel_pos);
     92        }
     93#endif
     94        last_item_start = start_pos;
     95        last_item_stop = end_pos;
     96        last_buffer_rel_pos = buffer_rel_pos;
     97}
     98
    7999/* Action routine for an XML comment in "<!--"  "-->" brackets. */
    80100template <CodeUnit_Base C>
     
    82102        comment_count +=1;
    83103        comment_length += end_pos - start_pos;
    84         last_item_start = start_pos;
    85         last_item_stop = end_pos;
    86         last_buffer_rel_pos = buffer_rel_pos;
     104        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    87105}
    88106
     
    92110        CDATA_count +=1;
    93111        CDATA_length += end_pos - start_pos;
    94         last_item_start = start_pos;
    95         last_item_stop = end_pos;
    96         last_buffer_rel_pos = buffer_rel_pos;
     112        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    97113}
    98114
     
    102118        PI_count +=1;
    103119        PI_length += end_pos - start_pos;
    104         last_item_start = start_pos;
    105         last_item_stop = end_pos;
    106         last_buffer_rel_pos = buffer_rel_pos;
     120        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    107121}
    108122
     
    112126        empty_elem_count +=1;
    113127        empty_elem_length += end_pos - start_pos;
    114         last_item_start = start_pos;
    115         last_item_stop = end_pos;
    116         last_buffer_rel_pos = buffer_rel_pos;
     128        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    117129}
    118130
     
    124136        nesting_depth += 1;
    125137        if (nesting_depth > max_nesting_depth) max_nesting_depth = nesting_depth;
    126         last_item_start = start_pos;
    127         last_item_stop = end_pos;
    128         last_buffer_rel_pos = buffer_rel_pos;
     138        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    129139}
    130140
     
    135145        end_tag_length += end_pos - start_pos;
    136146        nesting_depth -= 1;
    137         last_item_start = start_pos;
    138         last_item_stop = end_pos;
    139         last_buffer_rel_pos = buffer_rel_pos;
     147        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    140148}
    141149
     
    161169        text_item_count +=1;
    162170        text_item_length += end_pos - start_pos;
     171        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    163172}
    164173
     
    167176        reference_count +=1;
    168177        reference_length += end_pos - start_pos;
    169         last_item_start = start_pos;
    170         last_item_stop = end_pos;
    171         last_buffer_rel_pos = buffer_rel_pos;
     178        LastItemAction(start_pos, end_pos, buffer_rel_pos);
    172179}
    173180
     
    227234
    228235template <CodeUnit_Base C>
    229 inline void ParsingEngine<C>::FinalizeBuffer_action() {
     236inline void ParsingEngine<C>::FinalizeBuffer_action(int& preserve_pos) {
     237#ifdef DEBUG
     238        printf ("FinalizeBuffer; last 16 bytes + lookahead 16 =\n");
     239        cout << string((char *) GetCodeUnitPtr(AbsPos()-16), 16) << "::" << string((char *) GetCodeUnitPtr(AbsPos()), 16) << endl;
     240#endif
     241
     242        preserve_pos = AbsPos();
    230243#ifdef CODE_CLOCKING
    231244end_Interval (total_clocker, buffer_rel_pos);
     
    285298        if (!parser->has_ByteOrderMark()) printf("No ");
    286299        printf("Byte Order Mark found.\n");
     300
    287301        if (parser->get_version() == XML_1_0) printf("XML version 1.0 declared.\n");
    288302        else if (parser->get_version() == XML_1_1) printf("XML version 1.1 declared.\n");
    289303        else printf ("XML version 1.0 implied by default.\n");
    290304        if (parser->has_EncodingDecl()) {
    291         printf("XML encoding named at positions %i of length %i\n",
    292                 parser->get_Encoding_pos(), parser->get_Encoding_lgth());
     305                printf("XML encoding declared:  %s\n", parser->get_Encoding());
    293306        }
    294307        if (parser->standalone_status() == Standalone_yes)
Note: See TracChangeset for help on using the changeset viewer.