⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asnparser.jjt

📁 ASN.1工具源代码,包括编译源码生成工具和各种基本类型构造类型的编解码实现代码
💻 JJT
📖 第 1 页 / 共 2 页
字号:
}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 + -