grammar

integerinteger header with various elementsheader with various elements 'header' street_addressstreet_address 'address' (len) word...(len) word... integerinteger 8 data 'data' W:(a-c) W:(d-f) W:(d-f) W:(d-f) simple_arithmeticsimple_arithmetic ...... '_skipped'* IPv4 addressIPv4 address ip_address 'ip_address'

header with various elements

wordword 'header_word' IPv4 addressIPv4 address \d\d:\d\d [ALL]

IPv4 address

(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}

word

W:(A-Za-z)

street_address

integerinteger 'house_number' wordword 'street_name'

(len) word...

arrayLenarrayLen Forward

arrayLen

W:(0-9)

simple_arithmetic

add_sub operationsadd_sub operations

add_sub operations

mult_div operationsmult_div operations add_subadd_sub mult_div operationsmult_div operations mult_div operationsmult_div operations

mult_div operations

pos_neg operationspos_neg operations mult_divmult_div pos_neg operationspos_neg operations pos_neg operationspos_neg operations

pos_neg operations

pos_negpos_neg pos_neg operationspos_neg operations integerinteger nested_integer_expressionnested_integer_expression

pos_neg

(+-)

integer

W:(0-9)

nested_integer_expression

'(' [suppress] simple_arithmeticsimple_arithmetic ')' [suppress]

mult_div

(*/)

add_sub

(+-)