EnglishРусский  

   ..

   compl.g

   lexasm.g

   lexasm.lex

   main.g

   readme.txt

   test.asm

The project is closed! You can look at a new scripting language. It is available on GitHub.
Also, try our open source cross-platform automation software.

Ads

Installer and installation software
Commercial and Freeware installers.

source\example\asm\lexasm.g
  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 * lexgasm 24.11.2006
 11 *
 12 * Author: Generated with 'lextbl' program 
 13 *
 14 * Description: This file contains a lexical table for the lexical analizer.
 15 *
 16 ******************************************************************************/
 17 
 18 
 19 define
 20 {
 21    // States
 22 ASM_LINE = 0x1000000 //  New line 0x0D0A or 0x0A 
 23 ASM_NUMBER = 0x3000000 //  Number decimal, hexadecimal or binary 
 24 ASM_SYSCHAR = 0x2000000 //  System character ', [ ] + - ' 
 25 ASM_NAME = 0x50000 //  Name identifier 
 26 
 27    // Keywords
 28 KEY_AH = 0x0 
 29 KEY_AL = 0x1 
 30 KEY_BH = 0x2 
 31 KEY_BL = 0x3 
 32 KEY_CH = 0x4 
 33 KEY_CL = 0x5 
 34 KEY_DH = 0x6 
 35 KEY_DL = 0x7 
 36 KEY_AX = 0x8 
 37 KEY_BX = 0x9 
 38 KEY_CX = 0xA 
 39 KEY_DX = 0xB 
 40 KEY_EAX = 0x10 
 41 KEY_ECX = 0x11 
 42 KEY_EDX = 0x12 
 43 KEY_EBX = 0x13 
 44 KEY_ESP = 0x14 
 45 KEY_EBP = 0x15 
 46 KEY_ESI = 0x16 
 47 KEY_EDI = 0x17 
 48 KEY_CR0 = 0x20 
 49 KEY_CR1 = 0x21 
 50 KEY_CR2 = 0x22 
 51 KEY_CR3 = 0x23 
 52 KEY_DR0 = 0x24 
 53 KEY_DR1 = 0x25 
 54 KEY_DR2 = 0x26 
 55 KEY_DR3 = 0x27 
 56 KEY_DR4 = 0x28 
 57 KEY_DR5 = 0x29 
 58 KEY_DR6 = 0x2A 
 59 KEY_DR7 = 0x2B 
 60 KEY_JA = 0x40 
 61 KEY_JAE = 0x41 
 62 KEY_JB = 0x42 
 63 KEY_JBE = 0x43 
 64 KEY_JC = 0x44 
 65 KEY_JCXZ = 0x45 
 66 KEY_JE = 0x46 
 67 KEY_JECXZ = 0x47 
 68 KEY_JG = 0x48 
 69 KEY_JGE = 0x49 
 70 KEY_JL = 0x4A 
 71 KEY_JLE = 0x4B 
 72 KEY_JNA = 0x4C 
 73 KEY_JNAE = 0x4D 
 74 KEY_JNB = 0x4E 
 75 KEY_JNBE = 0x4F 
 76 KEY_JNC = 0x50 
 77 KEY_JNE = 0x51 
 78 KEY_JNG = 0x52 
 79 KEY_JNGE = 0x53 
 80 KEY_JNL = 0x54 
 81 KEY_JNLE = 0x55 
 82 KEY_JNO = 0x56 
 83 KEY_JNP = 0x57 
 84 KEY_JNS = 0x58 
 85 KEY_JNZ = 0x59 
 86 KEY_JO = 0x5A 
 87 KEY_JP = 0x5B 
 88 KEY_JS = 0x5C 
 89 KEY_JZ = 0x5D 
 90 KEY_LOOP = 0x5E 
 91 KEY_LOOPE = 0x5F 
 92 KEY_LOOPNE = 0x60 
 93 KEY_LOOPNZ = 0x61 
 94 KEY_REP = 0x62 
 95 KEY_REPE = 0x63 
 96 KEY_REPZ = 0x64 
 97 KEY_REPNE = 0x65 
 98 KEY_REPNZ = 0x66 
 99 KEY_CALL = 0x67 
100 KEY_CMP = 0x80 
101 KEY_MPS = 0x81 
102 KEY_CMPSB = 0x82 
103 KEY_CMPSW = 0x83 
104 KEY_CMPSD = 0x84 
105 KEY_TEST = 0x85 
106 KEY_ADC = 0x86 
107 KEY_ADD = 0x87 
108 KEY_DEC = 0x88 
109 KEY_DIV = 0x89 
110 KEY_IDIV = 0x8A 
111 KEY_IMUL = 0x8B 
112 KEY_INC = 0x8C 
113 KEY_MUL = 0x8D 
114 KEY_RCL = 0x8E 
115 KEY_ROL = 0x8F 
116 KEY_RCR = 0x90 
117 KEY_ROR = 0x91 
118 KEY_SAL = 0x92 
119 KEY_SHL = 0x93 
120 KEY_SAR = 0x94 
121 KEY_SHR = 0x95 
122 KEY_SUB = 0x96 
123 KEY_AND = 0x97 
124 KEY_OR = 0x98 
125 KEY_XOR = 0x99 
126 KEY_NOT = 0x9A 
127 KEY_NEG = 0x9B 
128 KEY_IN = 0x9C 
129 KEY_INS = 0x9D 
130 KEY_INSB = 0x9E 
131 KEY_INSW = 0x9F 
132 KEY_INSD = 0xA0 
133 KEY_LEA = 0xA1 
134 KEY_LODS = 0xA2 
135 KEY_LODSB = 0xA3 
136 KEY_LODSW = 0xA4 
137 KEY_LODSD = 0xA5 
138 KEY_MOV = 0xA6 
139 KEY_MOVS = 0xA7 
140 KEY_MOVSB = 0xA8 
141 KEY_MOVSW = 0xA9 
142 KEY_MOVSD = 0xAA 
143 KEY_MOVSX = 0xAB 
144 KEY_MOVZX = 0xAC 
145 KEY_POP = 0xAD 
146 KEY_POPF = 0xAE 
147 KEY_POPFD = 0xAF 
148 KEY_POPFW = 0xB0 
149 KEY_PUSHA = 0xB1 
150 KEY_PUSHAD = 0xB2 
151 KEY_POPA = 0xB2 
152 KEY_POPAD = 0xB3 
153 KEY_PUSH = 0xB3 
154 KEY_PUSHF = 0xB4 
155 KEY_PUSHFD = 0xB5 
156 KEY_PUSHFW = 0xB6 
157 KEY_SCAS = 0xB7 
158 KEY_SCASB = 0xB8 
159 KEY_SCASW = 0xB9 
160 KEY_SCASD = 0xBA 
161 KEY_STOS = 0xBB 
162 KEY_STOSB = 0xBC 
163 KEY_STOSW = 0xBD 
164 KEY_STOSD = 0xBE 
165 KEY_XCHG = 0xBF 
166 KEY_NOP = 0xC0 
167 KEY_PUSHAW = 0xC1 
168 KEY_POPAW = 0xC2 
169 KEY_SAHF = 0xC3 
170 KEY_LAHF = 0xC4 
171 KEY_CLC = 0xC5 
172 KEY_STC = 0xC6 
173 KEY_CLI = 0xC7 
174 KEY_STI = 0xC8 
175 KEY_CLD = 0xC9 
176 KEY_STD = 0xCA 
177 KEY_RET = 0xCB 
178 
179 }
180 
181 global
182 { 
183    buf lexgasm = '\h4  9 A FD000000 A0A 1000006 2C2C 2000046 5B5B
184  2000046 5D5D 2000046 2B2B 2000046 2D2D 2000046 2F2F
185  20004 3030 3060006 3139 3070006 4100 51005 2
186  10008 2A2A 30000 2F2F 40000 1 FD000000 2F2A
187  FD010800 1 FD000000 A0D0D 10008 2 10008 3000
188  FE000000 3A3A FE010000 3 10008 3039 FE070000 587878
189  FE080000 2626 FE090000 1 10008 3039 FE000000 1
190  10008 5800 FE000000 1 10008 313030 FE000000 194
191  48410000 10000 4C410000 20000 48420000 30000 4C420000 40000
192  48430000 50000 4C430000 60000 48440000 70000 4C440000 80000
193  58410000 90000 58420000 A0000 58430000 B0000 58440000 100000
194  41450000 11000058 45000000 5843 12 584445 1300 58424500
195  140000 53450000 15000050 45000000 5042 16 495345 1700
196  49444500 200000 52430000 21000030 43000000 3152 22 325243
197  2300 33524300 240000 52440000 25000030 44000000 3152 26
198  325244 2700 33524400 280000 52440000 29000034 44000000 3552
199  2A 365244 2B00 37524400 400000 414A0000 410000 414A0000
200  42000045 4A000000 43000042 4A000000 4542 44 434A 45
201  5A58434A 460000 454A0000 470000 454A0000 5A5843 4800 474A00
202  4900 45474A00 4A0000 4C4A0000 4B0000 4C4A0000 4C000045 4A000000
203  414E 4D 45414E4A 4E0000 4E4A0000 4F000042 4A000000 45424E
204  5000 434E4A00 510000 4E4A0000 52000045 4A000000 474E 53
205  45474E4A 540000 4E4A0000 5500004C 4A000000 454C4E 5600 4F4E4A00
206  570000 4E4A0000 58000050 4A000000 534E 59 5A4E4A 5A00
207  4F4A00 5B00 504A00 5C00 534A00 5D00 5A4A00 5E00
208  4F4F4C00 5F000050 4C000000 45504F4F 600000 4F4C0000 454E504F 610000
209  4F4C0000 5A4E504F 620000 45520000 63000050 52000000 455045 6400
210  50455200 6500005A 52000000 454E5045 660000 45520000 5A4E50 6700
211  4C414300 8000004C 43000000 504D 81 53504D 8200 504D4300
212  4253 83 53504D43 84000057 43000000 4453504D 850000 45540000
213  5453 86 434441 8700 44444100 880000 45440000 89000043
214  44000000 5649 8A 56494449 8B0000 4D490000 4C55 8C
215  434E49 8D00 4C554D00 8E0000 43520000 8F00004C 52000000 4C4F
216  90 524352 9100 524F5200 920000 41530000 9300004C 53000000
217  4C48 94 524153 9500 52485300 960000 55530000 97000042
218  41000000 444E 98 524F 99 524F58 9A00 544F4E00
219  9B0000 454E0000 9C000047 49000000 9D00004E 49000000 534E 9E
220  42534E49 9F0000 4E490000 5753 A0 44534E49 A10000 454C0000
221  A2000041 4C000000 53444F A300 444F4C00 4253 A4 53444F4C
222  A5000057 4C000000 4453444F A60000 4F4D0000 A7000056 4D000000 53564F
223  A800 564F4D00 4253 A9 53564F4D AA000057 4D000000 4453564F
224  AB0000 4F4D0000 585356 AC00 564F4D00 585A AD 504F50
225  AE00 504F5000 AF000046 50000000 4446504F B00000 4F500000 574650
226  B100 53555000 50004148 41485355 B2000044 50000000 41504F 41504F50
227  B3000044 50000000 485355 B400 53555000 4648 B5 48535550
228  4446 B6 48535550 5746 B7 53414353 B80000 43530000
229  425341 B900 41435300 5753 BA 53414353 BB000044 53000000
230  534F54 BC00 4F545300 4253 BD 534F5453 BE000057 53000000
231  44534F54 BF0000 43580000 4748 C0 504F4E C100 53555000
232  574148 C200 504F5000 5741 C3 46484153 C40000 414C0000
233  4648 C5 434C43 C600 43545300 C70000 4C430000 C8000049
234  53000000 4954 C9 444C43 CA00 44545300 CB0000 45520000
235  54'
236 }
237