Arquivos ASN1

8 respostas
Jedi_FeniX

Estou tentando gerar classes a partir de um arquivo ASN1 e está dando o seguinte erro:

line 59 (GPRS-R1-Explicit): A0120E: Parsing error: expecting ')' or '!' but found typereference. lengthReg [1] INTEGER (SIZE(4) CODE("DEC")) OPTIONAL,

8 Respostas

E

Você está tendo problemas com que compilador de ASN.1? É que é difícil achar um erro de sintaxe mostrando apenas uma linha. (E para agravar eu não conheço ASN.1 suficiente para poder indicar que tipo de erro é esse :frowning: )

Jedi_FeniX

Estou usando o OSS ASN.1 Tools for Java para gerar as classes a partir do ASN.1. Vê se ajuda a você a dar uma luz. :smiley:

OSS ASN.1 Compiler for Java Version 4.1.2 Copyright (C) OSS Nokalva, Inc. 1997-2009. All rights reserved.

E

Não estou achando a palavra CODE aqui nesse “cheat sheet”:

http://www.oss.com/asn1/tutorial/A4Card.pdf

Por acaso esse CODE é algo que está definido antes no seu arquivo ASN.1?

Jedi_FeniX

A parte que está dando erro é esta:

InternalCallDataRecord ::= SEQUENCE
{
   header      Header,
   sequenceCDR CallEventRecord OPTIONAL
}

Header ::= SEQUENCE
{
   lengthReg                      [1] INTEGER   (SIZE(4) CODE("DEC")) OPTIONAL,
   central                        [2] IA5String (SIZE(6) CODE("LEFT")) OPTIONAL,
   dataCDR                        [3] IA5String (SIZE(8) CODE("LEFT")) OPTIONAL,
   errorCode                      [4] IA5String (SIZE(5) CODE("LEFT")) OPTIONAL
}
É bem no início do arquivo, logo depois do BEGIN.
E

Pois é. Provavelmente você vai ter de olhar o manual do compilador, para ver se essa palavra CODE é suportada. Pelos livros que eles deixam disponíveis no site (e que são um bocado antiguinhos, por sinal) não há menção nenhuma de uma palavra-chave “CODE” para indicar um valor default.

Jedi_FeniX

Resumindo, eu tenho que achar um compilador que seja compatível a este modelo de ASN.1?

E

Ou então talvez adaptar esse programa ao compilador. Como eu ressaltei, não sei se essa palavra CODE é padrão do ASN.1. Talvez seja necessário usar DEFAULT ou então verificar se o compilador tem algum parâmetro de linha de comando para aceitar alguma sintaxe estendida.

Note que eu nunca cheguei a usar um compilador ASN.1 e estou lhe indicando as coisas todas por indução (um modo elegante de dizer “pelo chutômetro”).

Alguém mais versado em ASN.1 pode se apresentar aqui? Obrigado.

Jedi_FeniX

Bom achei um compilador que me gerou os códigos java, entanglement poderia me ajudar no próximo passo que é fazer o parse dos arquivos binários?
Desde já agradeço a ajuda.

Criado 14 de dezembro de 2010
Ultima resposta 21 de dez. de 2010
Respostas 8
Participantes 2