EnglishРусский  

   ..

   fc.gt

   gasm.gt

   genlex.g

   gentee.gt

   gt.gt

   gtdo.gt

   lextbl.g

Реклама

Инсталлятор CreateInstall
Бесплатные и коммерческие инсталляторы

  1 /******************************************************************************
  2 *
  3 * Copyright (C) 2006, The Gentee Group. All rights reserved. 
  4 * This file is part of the Gentee open source project - http://www.gentee.com. 
  5 * 
  6 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE GENTEE LICENSE ("AGREEMENT"). 
  7 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE CONSTITUTES RECIPIENTS 
  8 * ACCEPTANCE OF THE AGREEMENT.
  9 *
 10 * ID: fgentee 18.10.06 0.0.A.
 11 *
 12 * Author: Alexey Krivonogov ( gentee )
 13 *
 14 * Summary: Full C's lexical table
 15 *
 16 ******************************************************************************/
 17 
 18 <fc prefix = "FC_" desc = "Full C sources" gout =
 19      "..\..\example\autoformat\lexfc.g" >
 20    <MAIN state = UNKNOWN itstate pos >
 21       <_ ch = ' ' state = SPACE pos itstate /> 
 22       <_ ch = '.?' cmd = OPERCHAR pos itcmd value/> 
 23       <_ ch = '~' cmd = OPERCHAR pos itcmd value/> 
 24       <_ hexch = '09' state = TAB pos itstate /> 
 25       <_ hexch = '0A' cmd = LINE pos itcmd />
 26       <_ hexch = '0D' state = ISLINE pos />
 27       <_ ch = '/' state = ISCOMMENT pos/>
 28       <_ ch = '!=*' state = ISEQUAL pos/>
 29       <_ ch = '^' state = ISEQUAL pos/>
 30       <_ ch = '+' state = ISPLUS pos/>
 31       <_ ch = '-' state = ISMINUS pos/>
 32       <_ ch = '<' state = ISLESS pos/>
 33       <_ ch = '>' state = ISGREAT pos/>
 34       <_ ch = '\' state = IGNLINE pos itstate/>
 35       <_ ch = '%' cmd = OPERCHAR pos itcmd value />
 36       <_ ch = '&' state = ISAND pos/>
 37       <_ ch = '|' state = ISOR pos/>
 38       <_ ch = '#' state = NAME pos itstate keyword/>
 39       <_ name state = NAME pos itstate keyword/>
 40       <_ ch = '"' state = STRING pos itstate push />
 41       <_ ch = "'" state = BINARY pos itstate push />
 42       <_ ch = '0' pos cmd = NUMBER state = ISNUMBER itcmd />
 43       <_ range = '19' pos cmd = NUMBER state = DECIMAL itcmd /> 
 44       <_ ch = ',()' cmd = SYSCHAR pos itcmd value/>
 45       <_ ch = ';{}' cmd = SYSCHAR pos itcmd value/>
 46       <_ ch = ':[]' cmd = SYSCHAR pos itcmd value/> 
 47    </>   
 48    <IGNLINE state = MAIN stay comment = "Ignore line character \">
 49       <_ hexch = '0D' cmd = OK />
 50       <_ hexch = '0A' cmd = OK state = MAIN />
 51    </>
 52    <UNKNOWN cmd = OK comment = "Unknown characters">
 53       <_ hexrange = '20FF' state = MAIN stay />
 54       <_ hexch = '090D0A' state = MAIN stay />
 55    </>
 56    <SPACE state = MAIN stay comment = "Space characters">
 57       <_ ch = ' ' cmd = OK />
 58    </>
 59    <TAB state = MAIN stay comment = "Tab characters">
 60       <_ hexch = '09' cmd = OK />
 61    </>
 62    <ISLINE state = UNKNOWN itstate stay >
 63       <_ hexch = '0A' cmd = LINE itcmd state = MAIN />
 64    </>
 65    <ISCOMMENT cmd = OPERCHAR itcmd state = MAIN stay value >
 66       <_ ch = '*' state = COMMENT itstate />
 67       <_ ch = '/' state = LINECOMMENT itstate />
 68       <_ ch = '=' cmd = OPERCHAR itcmd state = MAIN value />
 69    </>
 70    <COMMENT cmd = OK comment = "Comment /* ... */">
 71       <_ multi = '*/' cmd = OK state = MAIN />
 72    </>
 73    <LINECOMMENT cmd = OK comment = "Comment //... ">
 74       <_ hexch = '0D0A' state = MAIN stay />
 75    </>
 76    <NAME state = MAIN stay comment = "Name identifier">
 77       <_ numname cmd = OK />
 78    </>
 79    <ISNUMBER state = MAIN stay >
 80       <_ range = '09' state = DECIMAL cmd = OK />
 81       <_ ch = 'xX' state = HEX cmd = OK />
 82       <_ ch = 'lL' cmd = OK state = MAIN />
 83       <_ ch = 'eE' cmd = OK state = EXPONENT />
 84       <_ ch = '.' cmd = OK state = DOUBLE />
 85    </>
 86    <DECIMAL state = MAIN stay >
 87       <_ range = '09' cmd = OK />
 88       <_ ch = 'lL' cmd = OK state = MAIN />
 89       <_ ch = 'eE' cmd = OK state = EXPONENT />
 90       <_ ch = '.' cmd = OK state = DOUBLE />
 91    </>
 92    <HEX state = MAIN stay >
 93       <_ numhex cmd = OK />
 94       <_ ch = 'lL' cmd = OK state = MAIN />
 95    </>
 96    <DOUBLE state = MAIN stay >
 97       <_ ch = 'eE' cmd = OK state = EXPONENT />
 98       <_ range = '09' cmd = OK />   
 99    </>
100    <EXPONENT state = FRACTION stay >
101       <_ ch = '+-' cmd = OK state = FRACTION />
102    </>
103    <FRACTION state = MAIN stay >
104       <_ range = '09' cmd = OK />   
105    </>
106    <ISEQUAL cmd = OPERCHAR itcmd state = MAIN stay value >
107       <_ ch = '=' cmd = OPERCHAR itcmd state = MAIN value />
108    </>
109    <ISPLUS cmd = OPERCHAR itcmd state = MAIN stay value >
110       <_ ch = '=+' cmd = OPERCHAR itcmd state = MAIN value />
111    </>
112    <ISMINUS cmd = OPERCHAR itcmd state = MAIN stay value >
113       <_ ch = '=->' cmd = OPERCHAR itcmd state = MAIN value />
114    </>
115    <ISLESS cmd = OPERCHAR itcmd state = MAIN stay value >
116       <_ ch = '=' cmd = OPERCHAR itcmd state = MAIN value />
117       <_ ch = '<' state = ISEQUAL />
118    </>
119    <ISGREAT cmd = OPERCHAR itcmd state = MAIN stay value >
120       <_ ch = '=' cmd = OPERCHAR itcmd state = MAIN value />
121       <_ ch = '>' state = ISEQUAL />
122    </>
123    <ISAND cmd = OPERCHAR itcmd state = MAIN stay value >
124       <_ ch = '=&' cmd = OPERCHAR itcmd state = MAIN value />
125    </>
126    <ISOR cmd = OPERCHAR itcmd state = MAIN stay value >
127       <_ ch = '=|' cmd = OPERCHAR itcmd state = MAIN value />
128    </>
129    <STRING cmd = OK comment = 'String'>
130       <_ ch = '"' pop cmd = OK />
131       <_ multi = '\\' cmd = OK />
132       <_ multi = '\"' cmd = OK />
133    </>
134    <BINARY cmd = OK comment = 'Binary data'>
135       <_ ch = "'" pop cmd = OK />
136    </>
137    <commands skip>
138       <LINE comment = "New line 0x0D0A or 0x0A" />
139       <OPERCHAR comment = "Operations" />
140       <SYSCHAR comment = "Punctuation marks" />
141       <NUMBER comment = "Number decimal, hexadecimal, float or double" />
142    </commands>
143    <keywords skip>
144       <cmd id = 1>
145          break case CDECLCALL continue default #define do #elif else extern for foreach goto if #ifdef #include return sizeof STDCALL switch typedef while #else #endif #ifndef enum const struct 
146       </>
147       <type id = 256>
148          byte double float int long short ubyte uint ulong ushort void pvoid
149          pubyte
150       </>
151    </keywords>
152 </fgentee>
153 
Редактировать