📄 asnparser.jjt
字号:
}void IntegerType() : {} { <INTEGER_TKN> [ <LEFTBRACE_TKN> { jjtThis.hasnames = true; } NamedNumberList() <RIGHTBRACE_TKN> ]}void BitStringType() : {} { <BIT_TKN> <STRING_TKN> [ <LEFTBRACE_TKN> { jjtThis.hasnames = true; } NamedNumberList() <RIGHTBRACE_TKN> ] }void NamedNumberList() : { } { NamedNumber() (<COMMA_TKN> NamedNumber())*}void NamedNumber() : { } { identifier() <LEFTPAREN_TKN> ( SignedNumber() { jjtThis.which=1; } | DefinedValue() { jjtThis.which=2; } ) <RIGHTPAREN_TKN> }void SignedNumber() : { Token t; } { [<MINUS_TKN> {jjtThis.is_neg = true; } ] ( t = <NUMBER_TKN> { jjtThis.number = t.image; } | t = <NUMBER_ERANGE_TKN> { jjtThis.number = t.image; } )}void SetOrSequenceOfType() : { }{ ( <SET_TKN> { jjtThis.which = 1; } | <SEQUENCE_TKN> { jjtThis.which = 2; } ) [[<LEFTPAREN_TKN>] { jjtThis.has_size_constraint = true; } SizeConstraint() [<RIGHTPAREN_TKN>]] <OF_TKN> Type()}void SetOrSequenceType() : { } { (<SET_TKN> { jjtThis.which = 1; } | <SEQUENCE_TKN> { jjtThis.which = 2; } ) <LEFTBRACE_TKN> [ ElementTypeList() ] <RIGHTBRACE_TKN>}void ChoiceType() : { } { <CHOICE_TKN> <LEFTBRACE_TKN> ElementTypeList() <RIGHTBRACE_TKN> }void ElementTypeList() : {} { ElementType() (<COMMA_TKN> ElementType())*}void ElementType() : { } { ( NamedType() [ ( <OPTIONAL_TKN> ) { jjtThis.optional = true; } | ( <DEFAULT_TKN> NamedValue() ) { jjtThis.has_default = true; } ] ) { jjtThis.which = 1; } | ComponentsType() { jjtThis.which = 2; }}void ComponentsType() : { }{ <COMPONENTS_TKN> <OF_TKN> Type() }void NamedType() : { } { [LOOKAHEAD(2) identifier() { jjtThis.hasid = true; } ] Type() }void SelectionType() : {} { identifier() <LESSTHAN_TKN> Type() }void TaggedType() : { } { Tag() [ <EXPLICIT_TKN> { jjtThis.imporexp = 0; } | <IMPLICIT_TKN> { jjtThis.imporexp = 1; } ] Type() }void Tag() : {} { <LEFTBRACKET_TKN> [Class() { jjtThis.hasTagClass=true; } ] ClassNumber() <RIGHTBRACKET_TKN> }void ClassNumber() : {} { number() { jjtThis.which=1; } | DefinedValue() { jjtThis.which=2; }}void Class() : {} { <UNIVERSAL_TKN> { jjtThis.tag_class = 0x00; } | <APPLICATION_TKN> { jjtThis.tag_class = 0x40; } | <PRIVATE_TKN> { jjtThis.tag_class = 0xC0; }}void AnyType() : {} { <ANY_TKN> [ <DEFINED_TKN> <BY_TKN> identifier() ]}void SubtypeSpec() : {} { <LEFTPAREN_TKN> SubtypeValueSetList() <RIGHTPAREN_TKN> }void SubtypeValueSetList() : {} { SubtypeValueSet() (<BAR_TKN> SubtypeValueSet())* }void SubtypeValueSet() : {} { ( ValueRange() | ContainedSubtype() | PermittedAlphabet() | SizeConstraint() | InnerTypeConstraints() )}void ContainedSubtype() : {} { <INCLUDES_TKN> Type() }void SingleValue() : {} { Value() }void ValueRange() : {} { ( Value() | <MIN_TKN> ) [ [ <LESSTHAN_TKN> ] <DOT_TKN> <DOT_TKN> [ <LESSTHAN_TKN> ] (Value() | <MAX_TKN> ) ]}void SizeConstraint() : {} { <SIZE_TKN> SubtypeSpec() }void PermittedAlphabet() : {} { <FROM_TKN> SubtypeSpec() }void InnerTypeConstraints() : {} { <WITH_TKN> ((<COMPONENT_TKN> SingleTypeConstraint() ) | ( <COMPONENTS_TKN> MultipleTypeConstraints()))}void SingleTypeConstraint() : {} { SubtypeSpec() }void MultipleTypeConstraints() : {} { <LEFTBRACE_TKN> [ <DOT_TKN> <DOT_TKN> <DOT_TKN> <COMMA_TKN> ] TypeConstraints() <RIGHTBRACE_TKN> }void TypeConstraints() : {} { NamedConstraint() (<COMMA_TKN> NamedConstraint())*}void NamedConstraint() : {} { [identifier() ] Constraint() }void Constraint() : {} { [ValueConstraint()] [PresenceConstraint()] }void ValueConstraint() : {} { SubtypeSpec() }void PresenceConstraint() : {} { <PRESENT_TKN> | <ABSENT_TKN> | <OPTIONAL_TKN> }void ValueAssignment() : { } { identifier() GlobalType() <GETS_TKN> [ LOOKAHEAD(2) identifier() [<SELECTOR_TKN>] ] [ BuiltinValue() ] }void Value() : {} { LOOKAHEAD(2) BuiltinValue() | DefinedValue() }void DefinedValue() : {} { [ modulereference() <DOT_TKN> ] identifier()}void BuiltinValue() : {} { BooleanValue() | NullValue() | SpecialRealValue() | SignedNumber() | HexString() | BinaryString() | CharString() | CompoundValue()}void CompoundValue() : {}{ <LEFTBRACE_TKN> ( ObjIdComponentList() | skip_to_matching_brace() ) <RIGHTBRACE_TKN> }JAVACODEvoid skip_to_matching_brace() { Token tok; int nesting = 1; while (true) { tok = getToken(1); if (tok.kind == LEFTBRACE_TKN) nesting++; if (tok.kind == RIGHTBRACE_TKN) { nesting--; if (nesting == 0) break; } tok = getNextToken(); }}void BooleanValue() : {} { <TRUE_TKN> | <FALSE_TKN> }void SpecialRealValue() : {} { <PLUS_INFINITY_TKN> | <MINUS_INFINITY_TKN> }void NullValue() : {} { <NULL_TKN> }void NamedValue() : {} { [ LOOKAHEAD(2) identifier() ] Value() }void ObjectIdentifierValue() : {} { <LEFTBRACE_TKN> ObjIdComponentList() <RIGHTBRACE_TKN> }void ObjIdComponentList() : {} { ObjIdComponent() (ObjIdComponent())*}void ObjIdComponent() : {} { ( NumberForm() | NameAndNumberForm())}void NumberForm() : {} { number() }void NameAndNumberForm() : {} { identifier() [<LEFTPAREN_TKN> (NumberForm() | DefinedValue()) <RIGHTPAREN_TKN>] }void BinaryString() : {} { <BSTRING_TKN> }void HexString() : {} { <HSTRING_TKN> }void CharString() : {} { <CSTRING_TKN> }void number() : { Token t; } { t = <NUMBER_TKN> { jjtThis.number = t.image; } | t = <NUMBER_ERANGE_TKN> { jjtThis.number = t.image; }}void identifier() : { Token t; } { t = <LCASEFIRST_IDENT_TKN> { jjtThis.id = t.image; }}void modulereference() : { Token t; } { t = <UCASEFIRST_IDENT_TKN> { jjtThis.module_ref = t.image; }}void typereference() : { Token t; } { t=<UCASEFIRST_IDENT_TKN> { jjtThis.typeref = t.image; }}void DefinedMacroType() : {} { TextualConventionMacroType() | SnmpObjectTypeMacroType()}void DefinedMacroName() : {} { <OBJECTTYPE_TKN> | <TC_TKN>}void SnmpObjectTypeMacroType() : {} { <OBJECTTYPE_TKN> <SYNTAX_TKN> Type() <ACCESS_TKN> SnmpAccess() <STATUS_TKN> SnmpStatus() [SnmpDescrPart()] [SnmpReferPart()] [SnmpIndexPart()] [SnmpDefValPart()] }void SnmpAccess() : {} { identifier() }void SnmpStatus() : {} { identifier() }void SnmpDescrPart() : {} { <DESCRIPTION_TKN> <CSTRING_TKN>}void SnmpReferPart() : {} { <REFERENCE_TKN> <CSTRING_TKN>}void SnmpIndexPart() : {} { <INDEX_TKN> <LEFTBRACE_TKN> TypeOrValueList() <RIGHTBRACE_TKN> }void TypeOrValueList() : {} { TypeOrValue() (<COMMA_TKN> TypeOrValue())*}void TypeOrValue() : {} { LOOKAHEAD(3) Type() | Value()}void SnmpDefValPart() : {} { <DEFVAL_TKN> <LEFTBRACE_TKN> Value() <RIGHTBRACE_TKN> }void TextualConventionMacroType() : {}{ <TC_TKN> [DisplayHint()] <STATUS_TKN> SnmpStatus() [SnmpDescrPart()] [SnmpReferPart()] <SYNTAX_TKN> Type()}void DisplayHint() : {}{ <DHINT> <CSTRING_TKN>}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -