2014-06-27 3 views
2

мы стараемся сделать макрос в ASN1 но компилятор выдает следующее сообщение об ошибке:Значение макроса ASN1 указано, но не определено. "

line 6 (BIGINTMACRO): A0256W: 'BigIntValue' is referenced, but is not defined. 

это наш код:

BIGINTMACRO DEFINITIONS ::= 
BEGIN 
    BIGINT MACRO ::= 
    BEGIN 
    TYPE NOTATION ::= <type ::= INTEGER> 
    VALUE NOTATION ::= value (VALUE BigIntValue)  
    BigIntValue ::= Int1 Int2 
    Int1 ::= number 
    Int2 ::= number 
    END 
END 

ответ

2

Есть ли конкретная причина, вы все еще используете ASN.1 MACRO, которая была удалена из ASN.1 в 1994 году (20 лет назад) и заменена классами информационных объектов и параметризацией? Вам будет намного лучше использовать современный ASN.1 вместо того, чтобы ударить головой о стену с помощью нотации ASN.1 Macro.

Я заметил, что вы используете компилятор OSS Nokalva ASN.1 или онлайн-компилятор ASN.1 по адресу http://asn1-playground.oss.com. Вы должны обратиться в отдел поддержки OSS, чтобы помочь вам в этом, отправив письмо на адрес [email protected] Несмотря на то, что компилятор OSS ASN.1 по-прежнему поддерживает макроопределение ASN.1, отдел поддержки может помочь вам преобразовать нотацию макросов в современный ASN.1.

Макроописание было удалено из ASN.1 20 лет назад из-за его двусмысленности, а также ее неспособности полностью захватить намерение автора макроса машинным способом. Современные классы и параметризация информационных объектов ASN.1 решили проблемы, присущие старой нотации MACN ASN.1.

В данном конкретном случае ожидается, что ключевое слово «VALUE» будет типом ASN.1, а не дополнительным производством макросов.

+2

Здравствуйте, Paul, Да, есть особая причина, по которой я все еще пытаюсь использовать ASN.1 MACRO Notation. У нас есть учитель, который настаивает на использовании макросов, но не спрашивайте меня, почему ... –

+2

Пожалуйста, спросите его, почему он учит тому, что было удалено из ASN.1 20 лет назад из-за присущих ему проблем. Он должен сосредоточиться на текущей версии ASN.1, если он не пытается дать урок истории в плохих идеях. –

+2

Это его заявление: «С 1994 года Макросы были заменены более современными языковыми концепциями, но в стандартах сетевого управления они все еще используются и поэтому должны быть поняты» ... PS: Я перевел его с немецкого, чтобы он мог не будет идеальным –

Смежные вопросы