EnglishРусский  

   ..

   alias.c

   alias.h

   bcodes.c

   bcodes.h

   body.c

   compile.c

   compile.h

   define.c

   define.h

   desc.c

   expr.c

   extern.c

   for.c

   foreach.c

   func.c

   func.h

   global.c

   global.h

   goto.c

   if.c

   ifdef.c

   ifdef.h

   import.c

   import.h

   include.c

   include.h

   jump.c

   lexem.c

   lexem.h

   macro.c

   macro.h

   macroexp.h

   operlist.txt

   out.c

   out.h

   subfunc.c

   switch.c

   type.c

   type.h

   vars.c

   while.c

   with.c

Реклама

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

source\src\compiler\macroexp.h
 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: macroexp.h 03.11.06 0.0.A.
11 *
12 * Author: Alexander Krivonogov ( algen )
13 *
14 * Summary: Macro expression
15 *
16 ******************************************************************************/
17 
18 #ifndef _MACROEXP_
19 #define _MACROEXP_
20 
21    #ifdef __cplusplus
22       extern "C" {
23    #endif // __cplusplus
24 
25 #include "../os/user/defines.h"
26 #include "../lex/lex.h"
27 #include "../lex/lexgentee.h"
28 #include "../common/arrdata.h"
29 #include "../common/msglist.h"
30 #include "lexem.h"
31 #include "operlist.h"
32 #include "bcodes.h"
33 #include "../genteeapi/gentee.h"
34 
35 /*-----------------------------------------------------------------------------
36 *
37 * ID: macro 03.11.06 0.0.A.
38 *
39 * Summary: Macroexpression result structure
40 *
41 -----------------------------------------------------------------------------*/
42 typedef struct
43 {
44    lexem   vallexem; //Копия лексемы с результатом
45    uint    bvalue;   //Значение истинности для ifdef
46    uint    colpars;  //Количество параметров коллекции
47 } macrores, * pmacrores;
48 
49 /*-----------------------------------------------------------------------------
50 *
51 * ID: macro 03.11.06 0.0.A.
52 *
53 * Summary: Macroexpression operation stack structure
54 *
55 -----------------------------------------------------------------------------*/
56 typedef struct
57 {
58    plexem    operlexem;
59    uint      operid;
60    pmacrores left;
61    uint      flg;
62 } macrooper, * pmacrooper;
63 
64 //----------------------------------------------------------------------------
65 //macroexp.c
66 plexem STDCALL macroexpr( plexem curlexem, pmacrores * mr );
67 
68 //--------------------------------------------------------------------------
69 
70    #ifdef __cplusplus
71       }
72    #endif // __cplusplus
73 
74 #endif // _MACROEXP_
75 
Редактировать