• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python parser.parse函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中webkit2.parser.parse函数的典型用法代码示例。如果您正苦于以下问题:Python parse函数的具体用法?Python parse怎么用?Python parse使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了parse函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: generate_messages_header

def generate_messages_header(file):
    receiver = parser.parse(file)
    header_guard = messages_header_filename(receiver).replace(".", "_")

    result = []

    result.append(_license_header)

    result.append("#ifndef %s\n" % header_guard)
    result.append("#define %s\n\n" % header_guard)

    if receiver.condition:
        result.append("#if %s\n\n" % receiver.condition)

    forward_declarations, headers = forward_declarations_and_headers(receiver)

    result += headers
    result.append("\n")

    result.append(forward_declarations)
    result.append("\n")

    result.append("namespace Messages {\nnamespace %s {\n" % receiver.name)
    result.append("\n")
    result.append("static inline CoreIPC::StringReference messageReceiverName()\n")
    result.append("{\n")
    result.append('    return CoreIPC::StringReference("%s");\n' % receiver.name)
    result.append("}\n")
    result.append("\n")

    result.append(messages_to_kind_enum(receiver.messages))
    result.append("\n")
    result.append("\n".join([message_to_struct_declaration(x) for x in receiver.messages]))
    result.append("\n")
    result.append("} // namespace %s\n} // namespace Messages\n" % receiver.name)

    result.append("\nnamespace CoreIPC {\n\n")
    result.append("template<> struct MessageKindTraits<Messages::%s::Kind> {\n" % receiver.name)
    result.append("    static const MessageClass messageClass = MessageClass%s;\n" % receiver.name)
    result.append("};\n")
    result.append("\n} // namespace CoreIPC\n")

    if receiver.condition:
        result.append("\n#endif // %s\n" % receiver.condition)

    result.append("\n#endif // %s\n" % header_guard)

    return "".join(result)
开发者ID:awong-chromium,项目名称:webkit,代码行数:48,代码来源:messages.py


示例2: generate_message_handler

def generate_message_handler(file):
    receiver = parser.parse(file)
    headers = {
        '"%s"' % messages_header_filename(receiver): [None],
        '"HandleMessage.h"': [None],
        '"MessageDecoder.h"': [None],
    }

    type_conditions = {}
    for parameter in receiver.iterparameters():
        if not parameter.type in type_conditions:
            type_conditions[parameter.type] = []

        if not parameter.condition in type_conditions[parameter.type]:
            type_conditions[parameter.type].append(parameter.condition)

    for parameter in receiver.iterparameters():
        type = parameter.type
        conditions = type_conditions[type]

        argument_encoder_headers = argument_coder_headers_for_type(type)
        if argument_encoder_headers:
            for header in argument_encoder_headers:
                if header not in headers:
                    headers[header] = []
                headers[header].extend(conditions)

        type_headers = headers_for_type(type)
        for header in type_headers:
            if header not in headers:
                headers[header] = []
            headers[header].extend(conditions)

    for message in receiver.messages:
        if message.reply_parameters is not None:
            for reply_parameter in message.reply_parameters:
                type = reply_parameter.type
                argument_encoder_headers = argument_coder_headers_for_type(type)
                if argument_encoder_headers:
                    for header in argument_encoder_headers:
                        if header not in headers:
                            headers[header] = []
                        headers[header].append(message.condition)

                type_headers = headers_for_type(type)
                for header in type_headers:
                    if header not in headers:
                        headers[header] = []
                    headers[header].append(message.condition)

    result = []

    result.append(_license_header)
    result.append('#include "config.h"\n')
    result.append("\n")

    if receiver.condition:
        result.append("#if %s\n\n" % receiver.condition)

    result.append('#include "%s.h"\n\n' % receiver.name)
    for headercondition in sorted(headers):
        if headers[headercondition] and not None in headers[headercondition]:
            result.append("#if %s\n" % " || ".join(set(headers[headercondition])))
            result += ["#include %s\n" % headercondition]
            result.append("#endif\n")
        else:
            result += ["#include %s\n" % headercondition]
    result.append("\n")

    sync_delayed_messages = []
    for message in receiver.messages:
        if message.reply_parameters != None and message.has_attribute(DELAYED_ATTRIBUTE):
            sync_delayed_messages.append(message)

    if sync_delayed_messages:
        result.append("namespace Messages {\n\nnamespace %s {\n\n" % receiver.name)

        for message in sync_delayed_messages:
            send_parameters = [(function_parameter_type(x.type), x.name) for x in message.reply_parameters]

            if message.condition:
                result.append("#if %s\n\n" % message.condition)

            result.append(
                "%s::DelayedReply::DelayedReply(PassRefPtr<CoreIPC::Connection> connection, PassOwnPtr<CoreIPC::MessageEncoder> encoder)\n"
                % message.name
            )
            result.append("    : m_connection(connection)\n")
            result.append("    , m_encoder(encoder)\n")
            result.append("{\n")
            result.append("}\n")
            result.append("\n")
            result.append("%s::DelayedReply::~DelayedReply()\n" % message.name)
            result.append("{\n")
            result.append("    ASSERT(!m_connection);\n")
            result.append("}\n")
            result.append("\n")
            result.append(
                "bool %s::DelayedReply::send(%s)\n" % (message.name, ", ".join([" ".join(x) for x in send_parameters]))
            )
#.........这里部分代码省略.........
开发者ID:awong-chromium,项目名称:webkit,代码行数:101,代码来源:messages.py



注:本文中的webkit2.parser.parse函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python api.Checkout类代码示例发布时间:2022-05-26
下一篇:
Python webiopi.sleep函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap