home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 275 / DPCS0111DVD.ISO / Toolkit / Audio-Visual / VirtualDub / Source / VirtualDub-1.9.10-src.7z / src / Ami / h / lexer.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-09-14  |  2.0 KB  |  127 lines

  1. #ifndef f_VD2_AMI_LEXER_H
  2. #define f_VD2_AMI_LEXER_H
  3.  
  4. #include <string>
  5.  
  6. enum {
  7.     kTokenEOF            = -1,
  8.     kTokenNull            = 0,
  9.     kTokenInteger        = 0x10000,
  10.     kTokenString,
  11.     kTokenIdentifier,
  12.  
  13.     kTokenPlusPlus,
  14.     kTokenMinusMinus,
  15.  
  16.     kTokenEQ,
  17.     kTokenNE,
  18.     kTokenLE,
  19.     kTokenGE,
  20.     kTokenLogicalAnd,
  21.     kTokenLogicalOr,
  22.  
  23.     kTokenInclude,
  24.     kTokenEnum,
  25.     kTokenLet,
  26.     kTokenDeclare,
  27.     kTokenUsing,
  28.     kTokenNow,
  29.  
  30.     kTokenLabel,
  31.     kTokenEdit,
  32.     kTokenEditInt,
  33.     kTokenButton,
  34.     kTokenCheckBox,
  35.     kTokenListBox,
  36.     kTokenComboBox,
  37.     kTokenListView,
  38.     kTokenTrackbar,
  39.     kTokenFileControl,
  40.     kTokenSet,
  41.     kTokenPageSet,
  42.     kTokenGrid,
  43.     kTokenOption,
  44.     kTokenGroup,
  45.     kTokenSplitter,
  46.     kTokenTextEdit,
  47.     kTokenTextArea,
  48.     kTokenTrackBar,
  49.     kTokenHotkey,
  50.     kTokenCustomWindow,
  51.  
  52.     kTokenListItem,
  53.     kTokenPage,
  54.     kTokenColumn,
  55.     kTokenRow,
  56.     kTokenNextRow,
  57.  
  58.     kTokenStringSet,
  59.     kTokenMessage,
  60.     kTokenOverride,
  61.     kTokenDialog,
  62.     kTokenTemplate,
  63.  
  64.     // properties
  65.     kTokenMarginL,
  66.     kTokenMarginT,
  67.     kTokenMarginR,
  68.     kTokenMarginB,
  69.     kTokenPadL,
  70.     kTokenPadT,
  71.     kTokenPadR,
  72.     kTokenPadB,
  73.     kTokenMinW,
  74.     kTokenMinH,
  75.     kTokenMaxW,
  76.     kTokenMaxH,
  77.     kTokenAlign,
  78.     kTokenVAlign,
  79.     kTokenSpacing,
  80.     kTokenAspect,
  81.     kTokenAffinity,
  82.     kTokenRowSpan,
  83.     kTokenColSpan,
  84.  
  85.     kTokenVertical,
  86.     kTokenRaised,
  87.     kTokenSunken,
  88.     kTokenChild,
  89.     kTokenMultiline,
  90.     kTokenReadonly,
  91.     kTokenCheckable,
  92.     kTokenNoHeader,
  93.     kTokenDefault,
  94.  
  95.     kTokenEnable,
  96.     kTokenValue,
  97.  
  98.     kTokenLeft,
  99.     kTokenCenter,
  100.     kTokenRight,
  101.     kTokenTop,
  102.     kTokenBottom,
  103.     kTokenFill,
  104.     kTokenExpand,
  105.     kTokenLink,
  106.     kTokenAddColumn
  107. };
  108.  
  109.  
  110. const std::wstring& lexident();
  111. int lexint();
  112. const char *lexfilename();
  113. int lexlineno();
  114. void lexopen(const char *fn);
  115. bool lexisunicode();
  116. void lextestunicode();
  117. void lexinclude(const std::string& filename);
  118. wint_t lexrawgetc();
  119. void lexungetc(wint_t c);
  120. wint_t lexgetc();
  121. wint_t lexgetescape();
  122. void lexpush(int token);
  123. int lex();
  124. std::string lextokenname(int token, bool expand = true);
  125.  
  126. #endif
  127.