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.

 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: main 18.10.06 0.0.A.
11 *
12 * Author: Alexey Krivonogov ( gentee )
13 *
14 * Summary: Example of the using gentee analizer
15 *
16 ******************************************************************************/
17 
18 include
19 {
20    $"..\..\lib\lex\lex.g"
21    "lexasm.g"
22 }
23 
24 func main<main>
25 {
26    str     in
27    uint    i off lex
28    arrout  out
29    uint    igt   // The current gtitem
30    
31    out.isize = sizeof( lexitem )
32    
33    in.read( "test.asm" )
34    lex = lex_init( 0, lexgasm.ptr())
35    gentee_lex( in->buf, lex, out )
36 //   start = in.ptr()
37    off = out.data.ptr()
38  //  igt as this 
39    
40    fornum i, *out
41    {
42       uint  li 
43       
44       li as off->lexitem
45       if li.ltype != $ASM_LINE 
46       {
47          print("type=\( hex2stru("", li.ltype )) pos = \(li.pos) len=\(li.len ) 0x\(hex2stru("", li.value )) \n")
48       }
49 
50       off += sizeof( lexitem )            
51    }
52    print("--------------------------\n") 
53    off = out.data.ptr()
54    fornum i = 0, *out
55    {
56       uint  li 
57       
58       li as off->lexitem
59       
60 //      if li.ltype != $ASM_UNKNOWN
61       {
62          str stemp 
63 
64          stemp.substr( in, li.pos, li.len )
65          print( " "+= stemp )
66       }
67       off += sizeof( lexitem )            
68    }
69    lex_delete( lex ) 
70    print("--------------------------\n") 
71    congetch("Press any key...")
72 }
73