1 /* Copyright (C) 1994, 1995, 1997 Aladdin Enterprises. All rights reserved. 2 3 This software is provided AS-IS with no warranty, either express or 4 implied. 5 6 This software is distributed under license and may not be copied, 7 modified or distributed except as expressly authorized under the terms 8 of the license contained in the file LICENSE in this distribution. 9 10 For more information about licensing, please refer to 11 http://www.ghostscript.com/licensing/. For information on 12 commercial licensing, go to http://www.artifex.com/licensing/ or 13 contact Artifex Software, Inc., 101 Lucas Valley Road #110, 14 San Rafael, CA 94903, U.S.A., +1(415)492-9861. 15 */ 16 17 /* $Id: scantab.c,v 1.5 2004/09/06 07:26:41 ray Exp $ */ 18 /* Scanner table for PostScript/PDF tokens */ 19 #include "stdpre.h" 20 #include "scommon.h" 21 #include "scanchar.h" /* defines interface */ 22 23 /* Define the character scanning table (see scanchar.h). */ 24 const byte scan_char_array[max_stream_exception + 256] = 25 {stream_exception_repeat(ctype_exception), 26 /* Control characters 0-31. */ 27 ctype_space, /* NULL - standard only in Level 2 */ 28 ctype_name, ctype_name, ctype_name, 29 ctype_other, /* EOT == ctrl-d <04> */ 30 ctype_name, ctype_name, ctype_name, ctype_name, 31 ctype_space, /* TAB (\t) */ 32 ctype_space, /* LF (\n) */ 33 ctype_name, 34 ctype_space, /* FF (\f) */ 35 ctype_space, /* CR (\r) */ 36 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 37 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 38 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 39 ctype_name, ctype_name, ctype_name, 40 /* Printable characters 32-63 */ 41 ctype_space, /* space (\s) */ 42 ctype_name, ctype_name, ctype_name, ctype_name, 43 ctype_other, /* % */ 44 ctype_name, ctype_name, 45 ctype_other, /* ( */ 46 ctype_other, /* ) */ 47 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 48 ctype_other, /* / */ 49 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* digits 0-9 */ 50 ctype_name, ctype_name, 51 ctype_other, /* < */ 52 ctype_name, 53 ctype_other, /* > */ 54 ctype_name, 55 /* Printable characters 64-95 */ 56 ctype_name, 57 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 58 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 59 30, 31, 32, 33, 34, 35, 60 ctype_other, /* [ */ 61 ctype_name, 62 ctype_other, /* ] */ 63 ctype_name, ctype_name, 64 /* Printable characters 96-126 and DEL */ 65 ctype_name, 66 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 67 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 68 30, 31, 32, 33, 34, 35, 69 ctype_other, /* { */ 70 ctype_name, 71 ctype_other, /* } */ 72 ctype_name, ctype_name, 73 /* Characters 128-159, binary tokens */ 74 ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, 75 ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, 76 ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, 77 ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, 78 ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, 79 ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, ctype_btoken, 80 ctype_btoken, ctype_btoken, 81 /* Characters 160-191, not defined */ 82 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 83 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 84 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 85 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 86 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 87 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 88 ctype_name, ctype_name, 89 /* Characters 192-223, not defined */ 90 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 91 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 92 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 93 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 94 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 95 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 96 ctype_name, ctype_name, 97 /* Characters 224-255, not defined */ 98 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 99 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 100 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 101 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 102 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 103 ctype_name, ctype_name, ctype_name, ctype_name, ctype_name, 104 ctype_name, ctype_name 105 }; 106