Протоколы Internet


Язык описания маршрутной политики RPSL - часть 48


| KEYW_LIST KEYW_OF typedef_type

enum_list: tkn_word | enum_list ',' tkn_word

//// атрибут protocol ////////////////////////////////////////////////

protocol_attribute: ATTR_PROTOCOL tkn_word protocol_options

protocol_options: | protocol_options protocol_option

protocol_option: KEYW_MANDATORY method | KEYW_OPTIONAL method

//**** Описания лексем *********************************************

//// макросы flex, используемые при определении лексем /////////////////////////////

INT [[:digit:]]+

SINT [+-]?{INT}

REAL [+-]?{INT}?\.{INT}({WS}*E{WS}*[+-]?{INT})?

NAME [[:alpha:]]([[:alnum:]_-]*[[:alnum:]])?

ASNO AS{INT}

ASNAME AS-[[:alnum:]_-]*[[:alnum:]]

RSNAME RS-[[:alnum:]_-]*[[:alnum:]]

RTRSNAME RTRS-[[:alnum:]_-]*[[:alnum:]]

PRNGNAME PRNG-[[:alnum:]_-]*[[:alnum:]]

FLTRNAME FLTR-[[:alnum:]_-]*[[:alnum:]]

IPV4 [0-9]+(\.[0-9]+){3,3}

PRFXV4 {IPV4}\/[0-9]+

PRFXV4RNG {PRFXV4}("^+"|"^-"|"^"{INT}|"^"{INT}-{INT})

ENAMECHAR [^()<>,;:\\\"\.[\] \t\r]

ENAME ({ENAMECHAR}+(\.{ENAMECHAR}+)*\.?)|(\"[^\"@\\\r\n]+\")

DNAME [[:alnum:]_-]+

//// Определения лексем >////////////////////////////////////////////////

TKN_INT {SINT}

TKN_INT {INT}:{INT} if each {INT} is two octets

TKN_INT {INT}.{INT}.{INT}.{INT} if each {INT} is one octet

TKN_REAL {REAL}

TKN_STRING То же самое что и в языке СИ

TKN_IPV4 {IPV4}

TKN_PRFXV4 {PRFXV4}

TKN_PRFXV4RNG {PRFXV4RNG}

TKN_ASNO {ASNO}

TKN_ASNAME (({ASNO}|peeras|{ASNAME}):)*{ASNAME}\

(:({ASNO}|peeras|{ASNAME}))*

TKN_RSNAME (({ASNO}|peeras|{RSNAME}):)*{RSNAME}\

(:({ASNO}|peeras|{RSNAME}))*

TKN_RTRSNAME (({ASNO}|peeras|{RTRSNAME}):)*{RTRSNAME}\

(:({ASNO}|peeras|{RTRSNAME}))*

TKN_PRNGNAME (({ASNO}|peeras|{PRNGNAME}):)*{PRNGNAME}\

(:({ASNO}|peeras|{PRNGNAME}))*

TKN_FLTRNAME (({ASNO}|peeras|{FLTRNAME}):)*{FLTRNAME}\

(:({ASNO}|peeras|{FLTRNAME}))*

TKN_BOOLEAN true|false

TKN_RP_ATTR {NAME} if defined in dictionary

TKN_WORD {NAME}

TKN_DNS {DNAME}("."{DNAME})+

TKN_EMAIL {ENAME}@({DNAME}("."{DNAME})+|{IPV4})

Документ RFC-2280 [3] содержит раннюю версию языка RPSL.




Начало  Назад  Вперед