CMGDK r49-rc2
|
00001 / * 00002 00003 A n g e l C o d e S c r i p t i n g L i b r a r y 00004 00005 C o p y r i g h t ( c ) 2 0 0 3 - 2 0 0 7 A n d r e a s J o n s s o n 00006 00007 00008 00009 T h i s s o f t w a r e i s p r o v i d e d ' a s - i s ' , w i t h o u t a n y e x p r e s s o r i m p l i e d 00010 00011 w a r r a n t y . I n n o e v e n t w i l l t h e a u t h o r s b e h e l d l i a b l e f o r a n y 00012 00013 d a m a g e s a r i s i n g f r o m t h e u s e o f t h i s s o f t w a r e . 00014 00015 00016 00017 P e r m i s s i o n i s g r a n t e d t o a n y o n e t o u s e t h i s s o f t w a r e f o r a n y 00018 00019 p u r p o s e , i n c l u d i n g c o m m e r c i a l a p p l i c a t i o n s , a n d t o a l t e r i t a n d 00020 00021 r e d i s t r i b u t e i t f r e e l y , s u b j e c t t o t h e f o l l o w i n g r e s t r i c t i o n s : 00022 00023 00024 00025 1 . T h e o r i g i n o f t h i s s o f t w a r e m u s t n o t b e m i s r e p r e s e n t e d ; y o u 00026 00027 m u s t n o t c l a i m t h a t y o u w r o t e t h e o r i g i n a l s o f t w a r e . I f y o u u s e 00028 00029 t h i s s o f t w a r e i n a p r o d u c t , a n a c k n o w l e d g m e n t i n t h e p r o d u c t 00030 00031 d o c u m e n t a t i o n w o u l d b e a p p r e c i a t e d b u t i s n o t r e q u i r e d . 00032 00033 00034 00035 2 . A l t e r e d s o u r c e v e r s i o n s m u s t b e p l a i n l y m a r k e d a s s u c h , a n d 00036 00037 m u s t n o t b e m i s r e p r e s e n t e d a s b e i n g t h e o r i g i n a l s o f t w a r e . 00038 00039 00040 00041 3 . T h i s n o t i c e m a y n o t b e r e m o v e d o r a l t e r e d f r o m a n y s o u r c e 00042 00043 d i s t r i b u t i o n . 00044 00045 00046 00047 T h e o r i g i n a l v e r s i o n o f t h i s l i b r a r y c a n b e l o c a t e d a t : 00048 00049 h t t p : / / w w w . a n g e l c o d e . c o m / a n g e l s c r i p t / 00050 00051 00052 00053 A n d r e a s J o n s s o n 00054 00055 a n d r e a s @ a n g e l c o d e . c o m 00056 00057 * / 00058 00059 00060 00061 00062 00063 / / 00064 00065 / / a s _ t o k e n i z e r . c p p 00066 00067 / / 00068 00069 / / T h i s c l a s s i d e n t i f i e s t o k e n s f r o m t h e s c r i p t c o d e 00070 00071 / / 00072 00073 00074 00075 00076 00077 00078 00079 # i f n d e f A S _ T O K E N I Z E R _ H 00080 00081 # d e f i n e A S _ T O K E N I Z E R _ H 00082 00083 00084 00085 # i n c l u d e < h g l / t y p e / D a t a T y p e . H > 00086 00087 # i n c l u d e " a s _ t o k e n d e f . h " 00088 00089 00090 00091 u s i n g n a m e s p a c e h g l ; 00092 00093 00094 00095 n a m e s p a c e a n g l e _ s c r i p t 00096 00097 { 00098 00099 c o n s t w c h a r _ t * a s G e t T o k e n D e f i n i t i o n ( i n t t o k e n T y p e ) ; 00100 00101 00102 00103 c o n s t w c h a r _ t * G e t T o k e n N a m e ( e T o k e n T y p e ) ; 00104 00105 00106 00107 c l a s s a s C T o k e n i z e r 00108 00109 { 00110 00111 p u b l i c : 00112 00113 a s C T o k e n i z e r ( ) ; 00114 00115 ~ a s C T o k e n i z e r ( ) ; 00116 00117 00118 00119 e T o k e n T y p e G e t T o k e n ( c o n s t w c h a r _ t * s o u r c e , u i n t s o u r c e L e n g t h , u i n t * t o k e n L e n g t h ) ; 00120 00121 00122 00123 p r o t e c t e d : 00124 00125 i n t P a r s e T o k e n ( ) ; 00126 00127 b o o l I s W h i t e S p a c e ( ) ; 00128 00129 b o o l I s C o m m e n t ( ) ; 00130 00131 b o o l I s C o n s t a n t ( ) ; 00132 00133 b o o l I s K e y W o r d ( ) ; 00134 00135 b o o l I s I d e n t i f i e r ( ) ; 00136 00137 00138 00139 c o n s t w c h a r _ t * s o u r c e ; 00140 00141 u i n t s o u r c e L e n g t h ; 00142 00143 00144 00145 e T o k e n T y p e t o k e n T y p e ; 00146 00147 u i n t t o k e n L e n g t h ; 00148 00149 } ; 00150 00151 } 00152 00153 # e n d i f 00154 00155 00156 00157