example.py
来自「编译工具」· Python 代码 · 共 56 行
PY
56 行
# -*- python -*-# Package : omniidl# example.py Created on: 1999/11/26# Author : Duncan Grisby (dpg1)## 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:# # Example back-end which prints the names of all operations in an# IDL file."""Example IDL compiler back-end."""from omniidl import idlast, idlvisitor, idlutilimport stringclass ExampleVisitor (idlvisitor.AstVisitor): def visitAST(self, node): for n in node.declarations(): n.accept(self) def visitModule(self, node): for n in node.definitions(): n.accept(self) def visitInterface(self, node): name = idlutil.ccolonName(node.scopedName()) if node.mainFile(): for c in node.callables(): if isinstance(c, idlast.Operation): print name + "::" + c.identifier() + "()"def run(tree, args): visitor = ExampleVisitor() tree.accept(visitor)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?