9 wide_separator = wide_separator
"-" ;
12 ie_separator =
"-- " ;
14 ie_separator = ie_separator
"=" ;
19 # This will also catch bits of Short Message description but that won't cause issues
20 # A way not to catch those could be to check that the numbers are in sequence
22 /^
[0-9]+(\.
[0-9]+)*\t/ {
43 # Recording empty line (to avoid multiple empty lines)
44 # Printing separators in some cases
48 if (next_line ==
"condition") {
51 if ((next_line ==
"field description") || (next_line ==
"field name")){
56 # #if (empty_line == "yes") {
65 # Stopping before ASN.1 examples (end of specification)
66 /^
-[[:space
:]]+ParentIE
-WithEM$
/ {
70 # Start of IE definitions
71 # This cannot catch "Multiplicity and type constraints"
72 # This also cannot catch NR-InterNodeDefinitions
73 /^
-[[:space
:]]+[A
-Za
-z0
-9-]+$
/ {
74 if (empty_line ==
"yes") {
85 /^
NR-InterNodeDefinitions
/ {
86 if (empty_line ==
"yes") {
88 print "-- IE: NR-InterNodeDefinitions";
90 # Perhaps it could work without this if the "next" at the end is removed
100 # Sometimes there is an "s" to constraint, sometimes not
101 /^
-[[:space
:]]+Multiplicity and type constraints? definitions$
/ {
102 if (empty_line ==
"yes") {
104 print "-- IE: Constants";
112 #/^-[[:space:]]+Multiplicity and type constraints definitions/ {
117 /^Conditional Presence
/ {
119 separator = ie_separator
;
121 $0 =
"Conditional presence" ;
124 #add_line_after = separator ;
125 next_line =
"condition" ;
128 # Need to catch "x and y field descriptions"
130 /field descriptions$
/ {
133 separator = ie_separator
;
135 # add_line_after = separator ;
136 next_line =
"field name" ;
139 #/^[A-Za-z0-9-]+[[:space:]]+[A-Za-z0-9-]+/ {
140 # if (next_line == "field description") {
141 # add_line_after = separator ;
142 # next_line = "field name";
146 /^
[A
-Za
-z0
-9-]+(, [A
-Za
-z0
-9-]+)*$
/ {
147 if (next_line ==
"field name") {
150 separator = wide_separator
;
153 #add_line_after = " ";
154 next_line =
"field description";
156 else if (next_line ==
"field description") {
158 separator = wide_separator
;
161 #add_line_after = separator ;
162 #print "separator est " separator;
163 next_line =
"field name";
170 if (in_IE ==
"yes") {
171 if ((next_line ==
"condition") && ($1 != "Conditional")) {
173 if (index(conditions
, $1) != 0) {
175 separator = wide_separator
;
176 print "-- Condition: " $1;
179 if ((in_ASN1 ==
"no") && !
(/^\s
*$
/)) {
186 if ((in_ASN1 ==
"no") && !
(/^\s
*$
/)) {
192 if (add_line_after
!= "") {
193 print add_line_after
;
194 add_line_after =
"" ;
197 if (/-- Cond
[A
-Za
-z0
-9-]+$
/) {
198 conditions = conditions
" " $NF ;