编译工具

源代码在线查看: __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 skeleton generation code								# $Id: __init__.py,v 1.7.2.8 2001/09/19 17:26:47 dpg1 Exp $				# $Log: __init__.py,v $				# Revision 1.7.2.8  2001/09/19 17:26:47  dpg1				# Full clean-up after orb->destroy().				#				# Revision 1.7.2.7  2001/08/15 10:29:52  dpg1				# Update DSI to use Current, inProcessIdentity.				#				# Revision 1.7.2.6  2001/05/29 17:03:50  dpg1				# In process identity.				#				# Revision 1.7.2.5  2001/04/19 09:30:12  sll				#  Big checkin with the brand new internal APIs.				# Scoped where appropriate with the omni namespace.				#				# Revision 1.7.2.4  2001/01/25 13:09:11  sll				# Fixed up cxx backend to stop it from dying when a relative				# path name is given to the -p option of omniidl.				#				# Revision 1.7.2.3  2000/11/03 19:17:37  sll				# Generated code use include omniORB4.				#				# Revision 1.7.2.2  2000/10/12 15:37:52  sll				# Updated from omni3_1_develop.				#				# Revision 1.8.2.3  2000/09/27 17:11:46  djs				# Includes the AMI Call Descriptor header				#				# Revision 1.8.2.2  2000/09/14 16:03:57  djs				# Remodularised C++ descriptor name generator				#				# Revision 1.8.2.1  2000/08/21 11:35:31  djs				# Lots of tidying				#				# Revision 1.8  2000/07/13 15:25:59  dpg1				# Merge from omni3_develop for 3.0 release.				#				# Revision 1.5.2.4  2000/06/26 16:24:16  djs				# Refactoring of configuration state mechanism.				#				# Revision 1.5.2.3  2000/05/31 18:03:38  djs				# Better output indenting (and preprocessor directives now correctly output at				# the beginning of lines)				# Calling an exception "e" resulted in a name clash (and resultant C++				# compile failure)				#				# Revision 1.5.2.2  2000/03/20 11:50:25  djs				# Removed excess buffering- output templates have code attached which is				# lazily evaluated when required.				#				# Revision 1.5.2.1  2000/02/14 18:34:54  dpg1				# New omniidl merged in.				#				# Revision 1.5  2000/01/13 15:56:43  djs				# Factored out private identifier prefix rather than hard coding it all through				# the code.				#				# Revision 1.4  2000/01/13 14:16:34  djs				# Properly clears state between processing separate IDL input files				#				# Revision 1.3  2000/01/11 11:34:49  djs				# Added support for fragment generation (-F) mode				#				# Revision 1.2  1999/11/19 20:10:13  djs				# Now runs the poa generating code after the main code				#				# Revision 1.1  1999/11/12 17:18:57  djs				# Struct skeleton code added				#								from omniidl_be.cxx import config, output, ast, id				import omniidl_be.cxx.skel.main				import omniidl_be.cxx.skel.poa								def monolithic(stream, tree):				    """Creates one large skeleton with all code inside"""								    ami = ""				    #if config.state['AMI']:				    #    ami = "#include "				    # Not ported yet.				        				    stream.out(template.boilerplate,				               program = config.state['Program Name'],				               library = config.state['Library Version'],				               basename = config.state['Basename'],				               include_omniAMICallDescriptor = ami,				               hh = config.state['HH Suffix'],				               prefix = config.state['Private Prefix'])								    skel = omniidl_be.cxx.skel.main.__init__(stream)				    tree.accept(skel)								    poa_skel = omniidl_be.cxx.skel.poa.__init__(stream)				    tree.accept(poa_skel)								def fragment(stream, tree):				    """Used in fragment mode"""								    stream.out("""\				// This file is generated by @program@- @library@. Do not edit.								#include 				""",				               program = config.state['Program Name'],				               library = config.state['Library Version'])								    skel = omniidl_be.cxx.skel.main.__init__(stream)				    tree.accept(skel)								    poa_skel = omniidl_be.cxx.skel.poa.__init__(stream)				    tree.accept(poa_skel)												def run(tree):				    # create somewhere to put the output				    skel_filename = config.state['Basename'] +\				                    config.state['SK Suffix']				    stream = output.Stream(output.createFile(skel_filename), 2)												    if config.state['Fragment']:				        fragment(stream, tree)				    else:				        # generate one big chunk of code				        monolithic(stream, tree)								    stream.close()							

相关资源