CMGDK r49-rc2
|
00001 # i f n d e f D e v i l P a r s e H 00002 00003 # d e f i n e D e v i l P a r s e H 00004 00005 00006 00007 # i n c l u d e " a s _ t o k e n i z e r . h " 00008 00009 # i n c l u d e " D e v i l F u n c . H " 00010 00011 # i n c l u d e " D e v i l E n g i n e . H " 00012 00013 # i n c l u d e < h g l / t y p e / W i d e S t r i n g . H > 00014 00015 00016 00017 u s i n g n a m e s p a c e a n g l e _ s c r i p t ; 00018 00019 n a m e s p a c e h g l 00020 00021 { 00022 00023 c l a s s D e v i l P a r s e 00024 00025 { 00026 00027 D e v i l E n g i n e * e n g i n e ; 00028 00029 00030 00031 c o n s t w c h a r _ t * s o u r c e _ s t a r t ; 00032 00033 00034 00035 c o n s t w c h a r _ t * s o u r c e _ c u r ; 00036 00037 u i n t s o u r c e _ l e n g t h ; 00038 00039 00040 00041 a s C T o k e n i z e r p a r s e ; 00042 00043 00044 00045 p r i v a t e : 00046 00047 00048 00049 b o o l P a r s e C o d e ( D e v i l F u n c * ) ; / / ㉐g NkNx 00050 00051 00052 00053 D e v i l V a l u e I n t e r f a c e * P a r s e V a l u e ( ) ; / / ㉐g N*Nϑ( ^\'`/ pe<P/ w[Qpe(u) 00054 00055 v o i d P a r s e V a l u e ( D e v i l F u n c * , e T o k e n T y p e , W i d e S t r i n g & ) ; 00056 00057 v o i d P a r s e E n u m ( ) ; 00058 00059 00060 00061 # i f d e f _ D E B U G 00062 00063 D e v i l C o m m a n d * P a r s e F u n c C a l l ( W i d e S t r i n g & , D e v i l F u n c M a p * , W i d e S t r i n g & ) ; 00064 00065 # e l s e 00066 00067 D e v i l C o m m a n d * P a r s e F u n c C a l l ( D e v i l F u n c M a p * ) ; 00068 00069 # e n d i f / / 00070 00071 b o o l P a r s e I f ( D e v i l F u n c * ) ; 00072 00073 00074 00075 D e v i l C o m p I n t e r f a c e * P a r s e C o m p ( ) ; 00076 00077 e T o k e n T y p e P a r s e C o m p T y p e ( ) ; 00078 00079 00080 00081 p u b l i c : 00082 00083 00084 00085 D e v i l P a r s e ( D e v i l E n g i n e * , c o n s t w c h a r _ t * , i n t = - 1 ) ; 00086 00087 00088 00089 e T o k e n T y p e G e t T o k e n ( W i d e S t r i n g & ) ; / / S_ N*Nt o k e n , ꁨRǏlʑ0bcL0zz<h 00090 00091 e T o k e n T y p e C h e c k T o k e n ( W i d e S t r i n g & ) ; / / hKmN N*Nt o k e n , ꁨRǏlʑ0bcL0zz<h, FO 00092 NSQ 00093 00094 00095 00096 b o o l G e t T o k e n ( e T o k e n T y p e , W i d e S t r i n g & ) ; / / ~bg NyT o k e n :Nbk 00097 00098 00099 00100 b o o l P a r s e F u n c ( D e v i l F u n c * ) ; / / ㉐g N*NQpe 00101 00102 } ; 00103 00104 } 00105 00106 # e n d i f 00107 00108