#!/usr/bin/awk -f
BEGIN {
  IFS=",";
  skipping = 1;
}
{
   if (($2 == "0," && $3 == "0,") || ($1 == "{\"\",0,0,0}")) {
      skipping = 1;
   }
   if (skipping == 0) {
      token_len = match($1, ",");
      if (substr($1, 1, 2) == "{\"") {
         tok_start = 3;
         token_len = token_len - 3;
      }
      else
         tok_start = 1;
      token = substr($1, tok_start, token_len - 1);
      value_len = match($2, ",");
      value = substr($2, 1, value_len - 1);
      if (substr($1, 1, 2) == "/*" ||
          value == "USAGENUM" ||
          value == "CONDITIONAL" ||
          value == "PORTNUM") {
      }
      else {
         printf "%s %s\n", value, token
      }
   }
   if ($0 == "struct reserved_symbol reserved_symbols[] = {")
      skipping = 0;
}
END {
   # And ends up with providing some pseudo-terminal
   print "LISTSEP ,"
   print "LPAR )"
   print "PERIOD_TOK ."
   print "POW_OP **"
   print "STRING string"
   print "VARIABLE variable"
   print "SUBSCVAR subscripted-variable"
   print "VARCOND condition-variable"
   print "CONDITIONAL condition-name"
   print "CLITERAL alphanumeric-literal"
   print "NLITERAL numeric-literal"
   print "CHAR picture-char"
   print "MULTIPLIER numeric-literal"
   print "LABELSTR paragraph-name"
   print "USAGENUM usage-type"
   print "PORTNUM portnum"
   print "IDSTRING idstring"
}
