首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python asn1tools - asn.1编译失败

python asn1tools - asn.1编译失败
EN

Stack Overflow用户
提问于 2020-01-20 16:01:25
回答 1查看 497关注 0票数 0

我正在尝试编译3GPP 38.331 ASN.1规范here -它是从spec document中提取出来的

代码语言:javascript
复制
import asn1tools
rrc = asn1tools.compile_files('./data/asn/38331-f80.docx.asn', 'uper')

但是,这会抛出错误asn1tools.errors.CompileError: Type 'SetupRelease' not found in module 'NR-RRC-Definitions'.

我可以在.asn文件中看到SetupRelease定义

代码语言:javascript
复制
SetupRelease { ElementTypeParam } ::= CHOICE {
    release         NULL,
    setup           ElementTypeParam
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-20 16:55:16

很可能您的编译器不支持参数化类型。

您可以用不同的方式编写规范(保持兼容)

考虑将其从您的规范中删除...

代码语言:javascript
复制
SetupRelease { ElementTypeParam } ::= CHOICE {
    release         NULL,
    setup           ElementTypeParam
}

每次在规范中引用此类型时,请将ElementTypeParam替换为实际类型。

例如..。

代码语言:javascript
复制
LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication                       SetupRelease {LocationMeasurementInfo},
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        SEQUENCE{}                                                              OPTIONAL
}

应该变成

代码语言:javascript
复制
LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication  CHOICE {
        release         NULL,
        setup           LocationMeasurementInfo
    },
    lateNonCriticalExtension   OCTET STRING   OPTIONAL,
    nonCriticalExtension    SEQUENCE{}        OPTIONAL
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59819049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档