#!/usr/bin/perl -w use strict; # small script to extract the constants from # {HNBAP,RUA,RANAP}-Constants.asn and print them in an ASN.1 format that # will trigger asn1c to generate associated enums in C. # # Usage: ./asn1enum.pl < HNBAP-Constants.asn my $l; my %h; while ($l = ) { chomp($l); if ($l =~ /^(\S+)\s+(\S+)\s+::=\s+(\d+)/) { $h{$2}{$3} = $1; } } foreach my $k (keys %h) { if ($k eq 'INTEGER') { next; } printf("%s ::= INTEGER {\n", $k); foreach my $r (sort { $a <=> $b } keys $h{$k}) { printf("\t%s(%d),\n", $h{$k}{$r}, $r); } printf("}\n"); }