EnglishРусский  

   ..

   fc.gt

   gasm.gt

   genlex.g

   gentee.gt

   gt.gt

   gtdo.gt

   lextbl.g

Реклама

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

source\src\lextbl\gtdo.gt
  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: gtdo 18.10.06 0.0.A.
 11 *
 12 * Author: Alexey Krivonogov ( gentee )
 13 *
 14 * Summary: This file contains a description of the lexical table for
 15   processing GT language data.
 16 *
 17 ******************************************************************************/
 18 
 19 <gtdo prefix = "GTDO_" desc = "Processing GT data" gout = "..\..\lib\gt2\lexgtdo.g"
 20       xbinout = "..\..\lib\gt\lexgtdo.lex">
 21    <MAIN state = TEXT itstate pos>
 22       <_ ch = '&' state = AMP try pos trycmd = AMPTRY />
 23       <_ ch = '#' state = SIGN itstate pos />
 24    </>  
 25    <TEXT cmd = OK comment = "Simple text" >
 26       <_ ch = '#&' state = MAIN stay />
 27    </>  
 28    <SIGN state = MAIN stay comment = "# character">
 29       <_ ch = '/' numname state = NAME pos itstate />
 30       <_ ch = '.' cmd = DOT itcmd pos />
 31    </>  
 32    <NAME state = MAIN stay comment = "Macro name after #">
 33       <_ ch = '=' cmd = PARCALL itcmd state = MAIN />
 34       <_ ch = '/' numname cmd = OK />
 35       <_ ch = '(' state = LP itstate pos />
 36       <_ ch = '[' state = LSP itstate pos />
 37       <_ ch = ':' state = COLON itstate pos />
 38       <_ ch = '.' state = SIGN stay />
 39    </>  
 40    <AMP ret >
 41       <_ ch = 'Xx' state = ISHEX />
 42       <_ ch = '#' state = ISPAR />
 43       <_ hexmulti = '5C0D0A' cmd = SKIP state = MAIN />
 44       <_ hexmulti = '5C0A' cmd = SKIP state = MAIN />
 45    </>  
 46    <ISHEX ret >
 47       <_ numhex state = HEXOK />
 48    </>  
 49    <HEXOK ret >
 50       <_ ch = ';' cmd = HEX itcmd state = MAIN />
 51       <_ numhex cmd = SKIP />
 52    </>  
 53    <ISPAR ret >
 54       <_ range = '09' state = PAROK />
 55    </>  
 56    <PAROK ret >
 57       <_ ch = ';' cmd = PAR itcmd state = MAIN />
 58       <_ range = '09' cmd = SKIP />
 59    </>  
 60    <LP state = PARTEXT itstate pos comment = "Left parenthesis after macroname">
 61       <_ lespace state = SPACE itstate pos />
 62       <_ ch = ',' cmd = COMMA itcmd pos />
 63       <_ ch = ')' cmd = RP itcmd pos state = MAIN />
 64       <_ ch = '"' itstate pos state = DQ />
 65       <_ ch = "'" itstate pos state = Q />
 66    </>  
 67    <LSP state = PARSTEXT itstate pos comment = "Left parenthesis after macroname">
 68       <_ ch = ']' cmd = RSP itcmd pos state = MAIN />
 69       <_ multi = '][' cmd = COMMA itcmd pos state = LSP />
 70    </>  
 71    <COLON cmd = OK comment = "Text until new string">
 72       <_ hexmulti = '0D0A' state = MAIN stay />
 73    </>  
 74    <PARTEXT cmd = OK comment = "Simple text inside ()">
 75       <_ ch = '),' lespace state = LP stay />
 76    </>  
 77    <PARSTEXT cmd = OK comment = "Simple text inside []">
 78       <_ ch = '[]' state = LSP stay pair/>
 79    </>  
 80    <SPACE state = LP stay comment = "Characters less or equal space inside ()">
 81       <_ lespace cmd = OK />
 82    </>  
 83    <DQ cmd = OK comment = "Text with double-quotes inside ()">
 84       <_ ch = '"' cmd = OK state = LP />
 85    </>  
 86    <Q cmd = OK comment = "Text with '' inside ()">
 87       <_ ch = "'" cmd = OK state = LP />
 88    </>  
 89    <AMPTRY itstate state = TEXT >
 90    </>  
 91    <commands skip>
 92       <DOT  comment = "Dot in the name of the macro" />
 93       <HEX  comment = "Hexadecimal value of the character &xff;" />
 94       <PAR  comment = "Number of the parameter " />
 95       <COMMA comment = "The comma between parameters" />
 96       <RP comment = "The right parenthesis" />
 97       <RSP comment = "The right parenthesis" />
 98    </commands>
 99 </gtdo>
100 
Редактировать