Mercurial > projects > ldc
view dmd/macro.h @ 1648:18bbb1436153 0.9.2
Change the ldc.conf file output to match the newer Tango directory structure and only use libtango-user-ldc for the libs to match the 0.99.9 build instructions.
author | Kelly Wilson <wilsonk cpsc.ucalgary.ca> |
---|---|
date | Wed, 10 Mar 2010 20:21:05 -0700 |
parents | c53b6e3fe49a |
children |
line wrap: on
line source
// Compiler implementation of the D programming language // Copyright (c) 1999-2006 by Digital Mars // All Rights Reserved // written by Walter Bright // http://www.digitalmars.com // License for redistribution is by either the Artistic License // in artistic.txt, or the GNU General Public License in gnu.txt. // See the included readme.txt for details. #ifndef DMD_MACRO_H #define DMD_MACRO_H 1 #include <stdio.h> #include <string.h> #include <time.h> #include <ctype.h> #include "root.h" class Macro { Macro *next; // next in list unsigned char *name; // macro name size_t namelen; // length of macro name unsigned char *text; // macro replacement text size_t textlen; // length of replacement text int inuse; // macro is in use (don't expand) Macro(unsigned char *name, size_t namelen, unsigned char *text, size_t textlen); Macro *search(unsigned char *name, size_t namelen); public: static Macro *define(Macro **ptable, unsigned char *name, size_t namelen, unsigned char *text, size_t textlen); void expand(OutBuffer *buf, unsigned start, unsigned *pend, unsigned char *arg, unsigned arglen); }; #endif