编译工具

源代码在线查看: __init__.py

软件大小: 2719 K
上传用户: KMPlayer33
关键词: 编译工具
下载地址: 免注册下载 普通下载 VIP

相关代码

				# -*- python -*-				#                           Package   : omniidl				# __init__.py               Created on: 1999/11/11				#			    Author    : David Scott (djs)				#				#    Copyright (C) 1999 AT&T Laboratories Cambridge				#				#  This file is part of omniidl.				#				#  omniidl is free software; you can redistribute it and/or modify it				#  under the terms of the GNU General Public License as published by				#  the Free Software Foundation; either version 2 of the License, or				#  (at your option) any later version.				#				#  This program is distributed in the hope that it will be useful,				#  but WITHOUT ANY WARRANTY; without even the implied warranty of				#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU				#  General Public License for more details.				#				#  You should have received a copy of the GNU General Public License				#  along with this program; if not, write to the Free Software				#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA				#  02111-1307, USA.				#				# Description:				#				#   Entrypoint to dynamic skeleton generation code								# $Id: __init__.py,v 1.8.2.4 2003/01/22 12:10:55 dgrisby Exp $				# $Log: __init__.py,v $				# Revision 1.8.2.4  2003/01/22 12:10:55  dgrisby				# Explicitly close files in C++ backend.				#				# Revision 1.8.2.3  2001/06/08 17:12:14  dpg1				# Merge all the bug fixes from omni3_develop.				#				# Revision 1.8.2.2  2000/10/12 15:37:49  sll				# Updated from omni3_1_develop.				#				# Revision 1.9.2.1  2000/08/21 11:35:06  djs				# Lots of tidying				#				# Revision 1.9  2000/07/13 15:26:01  dpg1				# Merge from omni3_develop for 3.0 release.				#				# Revision 1.6.2.6  2000/06/26 16:23:26  djs				# Refactoring of configuration state mechanism.				#				# Revision 1.6.2.5  2000/05/31 18:02:50  djs				# Better output indenting (and preprocessor directives now correctly output at				# the beginning of lines)				#				# Revision 1.6.2.4  2000/04/26 18:22:19  djs				# Rewrote type mapping code (now in types.py)				# Rewrote identifier handling code (now in id.py)				#				# Revision 1.6.2.3  2000/03/24 22:30:17  djs				# Major code restructuring:				#   Control flow is more recursive and obvious				#   Properly distinguishes between forward declarations and externs				#   Only outputs definitions once				#   Lots of assertions to check all is well				#				# Revision 1.6.2.2  2000/02/16 18:34:49  djs				# Fixed problem generating fragments in DynSK.cc file				#				# Revision 1.6.2.1  2000/02/14 18:34:56  dpg1				# New omniidl merged in.				#				# Revision 1.6  2000/01/20 18:26:43  djs				# Moved large C++ output strings into an external template file				#				# Revision 1.5  2000/01/17 17:06:30  djs				# Added tcParser #ifdefs for bounded strings				#				# Revision 1.4  2000/01/13 15:56:34  djs				# Factored out private identifier prefix rather than hard coding it all through				# the code.				#				# Revision 1.3  2000/01/12 11:52:09  djs				# Added important comment :)				#				# Revision 1.2  1999/12/09 20:40:13  djs				# TypeCode and Any generation option performs identically to old compiler for				# all current test fragments.				#				# Revision 1.1  1999/11/12 17:18:06  djs				# Skeleton of dynamic skeleton code :)				#								# All you really need to know for the moment is that the universe				# is a lot more complicated than you might think, even if you				# start from a position of thinking it's pretty damn complicated				# in the first place.       Douglas Adams, "Mostly Harmless"				#								# -----------------------------				# Configuration data				from omniidl_be.cxx import config								# -----------------------------				# Utility functions				from omniidl_be.cxx import ast, cxx, output, util								#import omniidl_be.cxx.dynskel.tcstring				import omniidl_be.cxx.dynskel.typecode				import omniidl_be.cxx.dynskel.main				import omniidl_be.cxx.dynskel.template								def generate(stream, tree):				    stream.out(template.header_comment,				               program = config.state['Program Name'],				               library = config.state['Library Version'])				    if not config.state['Fragment']:				        stream.out(template.header,				                   basename = config.state['Basename'],				                   hh = config.state['HH Suffix'],				                   library = config.state['Library Version'],				                   prefix = config.state['Private Prefix'])								    # This is the bit shared with the header file?				    tcstring = omniidl_be.cxx.dynskel.tcstring.__init__(stream)								    Typecode = omniidl_be.cxx.dynskel.typecode.__init__(stream)				    tree.accept(Typecode)								    Main = omniidl_be.cxx.dynskel.main.__init__(stream)				    tree.accept(Main)								def run(tree):				    # create somewhere to put the output				    header_filename = config.state['Basename'] +\				                      config.state['DYNSK Suffix']				    				    stream = output.Stream(output.createFile(header_filename), 2)								    generate(stream, tree)				    stream.close()							

相关资源