17#include "PSTokenizer.h"
23static char specialChars[256] = {
24 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0,
25 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
26 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2,
27 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0,
28 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0,
30 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0,
32 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
33 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
35 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
36 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
38 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
44PSTokenizer::PSTokenizer( int (*getCharFuncA)( void *), void *dataA) {
45 getCharFunc = getCharFuncA;
50PSTokenizer::~PSTokenizer() {
53GBool PSTokenizer::getToken( char *buf, int size, int *length) {
54 GBool comment, backslash;
61 if ((c = getChar()) == EOF) {
67 if (c == '\x0a' || c == '\x0d') {
70 } else if (c == '%') {
72 } else if (specialChars[c] != 1) {
82 while ((c = lookChar()) != EOF) {
89 } else if (!backslash && c == ')') {
95 } else if (c == '<') {
96 while ((c = lookChar()) != EOF) {
105 } else if (c != '[' && c != ']') {
106 while ((c = lookChar()) != EOF && !specialChars[c]) {
119int PSTokenizer::lookChar() {
121 charBuf = (*getCharFunc)(data);
126int PSTokenizer::getChar() {
130 charBuf = (*getCharFunc)(data);
|