home *** CD-ROM | disk | FTP | other *** search
- WS [ \t]*
- N [0-9]*
- N3 [0-9][0-9][0-9]
- N4 [0-9][0-9][0-9][0-9]
- N5 [0-9][0-9][0-9][0-9][0-9]
-
- #undef yywrap()
-
- %%
-
- \({N3}\){WS}{N3}{WS}-{WS}{N4} {
- /* (800) 555-1234 */
- ECHO;
- }
-
- {N}{N3}{WS}-{WS}{N5}{N} {
- /* 123-12345 */
- ECHO;
- }
- {N}{N4}{WS}-{WS}{N4}{N} {
- /* 1234-5678 */
- ECHO;
- }
-
- {N3}{WS}-{WS}{N4} {
- /* Add area code */
- dooneprefix(yytext);
- }
- %%
- #ifndef lint
- static char rcsid[] =
- "@(#) $Header: area.l,v 1.1 91/09/05 22:52:01 leres Exp $ (LBL)";
- #endif
-
- /*
- * area - add area code to 415/510 prefixes
- *
- * Craig Leres, Lawrence Berkeley Laboratory
- */
-
- #include <stdio.h>
- #include <strings.h>
-
- int targc;
- char **targv;
-
- static int map[1000];
- static int ignore = 0;
-
- void areainit();
-
- extern char *optarg;
- extern int optind, opterr;
-
- main(argc, argv)
- int argc;
- char **argv;
- {
- register char *cp;
- register int op;
- char *argv0;
-
- if (cp = rindex(argv[0], '/'))
- argv0 = cp + 1;
- else
- argv0 = argv[0];
-
- opterr = 0;
- while ((op = getopt(argc, argv, "i:")) != EOF)
- switch (op) {
-
- case 'i':
- ignore = atoi(optarg);
- break;
-
- default:
- (void)fprintf(stderr,
- "usage: %s [-i <prefix>] [file ...]\n", argv0);
- exit(1);
- /* NOTREACHED */
- }
-
- /* Let yywrap() figure out if there are any arguments to open */
- targc = argc - optind;
- targv = &argv[optind];
- yyin = 0;
- areainit();
- (void)yywrap();
-
- /* Process file opened by yywrap() or stdin if no arguments */
- if (yyin)
- yylex();
-
- exit(0);
- }
-
- yywrap()
- {
- register char *file;
- static int didany = 0;
-
- /* Close file, if necessary */
- if (yyin && yyin != stdin) {
- (void)fclose(yyin);
- yyin = 0;
- }
-
- /* Spin through arguments until we run out or successfully open one */
- while (targc > 0) {
- file = targv[0];
- --targc;
- ++targv;
- ++didany;
- if (yyin = fopen(file, "r"))
- return(0);
- else
- perror(file);
- }
- if (!didany)
- yyin = stdin;
- return(1);
- }
-
- dooneprefix(p)
- register char *p;
- {
- register char *cp;
- register int prefix, area;
-
- prefix = atoi(p);
- area = map[prefix];
- if (area == 0)
- fputs("(?) ", stdout);
- else if (area != ignore)
- printf("(%d) ", area);
- fputs(p, stdout);
- }
-
- void
- areainit()
- {
- bzero((char *)map, sizeof(map));
- map[204] = 510;
- map[206] = 415;
- map[208] = 510;
- map[210] = 510;
- map[215] = 510;
- map[219] = 415;
- map[221] = 415;
- map[222] = 510;
- map[223] = 510;
- map[224] = 510;
- map[226] = 510;
- map[227] = 415;
- map[228] = 510;
- map[229] = 510;
- map[231] = 510;
- map[232] = 510;
- map[233] = 510;
- map[234] = 510;
- map[235] = 510;
- map[236] = 510;
- map[237] = 510;
- map[238] = 510;
- map[239] = 415;
- map[241] = 415;
- map[243] = 415;
- map[244] = 415;
- map[245] = 510;
- map[246] = 510;
- map[248] = 510;
- map[251] = 510;
- map[252] = 415;
- map[253] = 510;
- map[254] = 510;
- map[255] = 415;
- map[256] = 510;
- map[257] = 415;
- map[258] = 415;
- map[259] = 415;
- map[261] = 510;
- map[262] = 510;
- map[263] = 510;
- map[266] = 415;
- map[267] = 415;
- map[268] = 510;
- map[271] = 510;
- map[272] = 510;
- map[273] = 510;
- map[275] = 510;
- map[276] = 510;
- map[277] = 510;
- map[278] = 510;
- map[282] = 415;
- map[283] = 510;
- map[284] = 510;
- map[285] = 415;
- map[287] = 510;
- map[289] = 415;
- map[291] = 415;
- map[292] = 415;
- map[293] = 510;
- map[294] = 510;
- map[295] = 510;
- map[296] = 415;
- map[297] = 510;
- map[302] = 510;
- map[306] = 415;
- map[307] = 415;
- map[308] = 510;
- map[312] = 415;
- map[313] = 510;
- map[317] = 510;
- map[321] = 415;
- map[322] = 415;
- map[323] = 415;
- map[324] = 415;
- map[325] = 415;
- map[326] = 415;
- map[327] = 415;
- map[328] = 415;
- map[329] = 415;
- map[330] = 415;
- map[331] = 415;
- map[332] = 415;
- map[333] = 415;
- map[334] = 415;
- map[335] = 415;
- map[336] = 415;
- map[337] = 415;
- map[338] = 415;
- map[339] = 510;
- map[340] = 415;
- map[341] = 415;
- map[342] = 415;
- map[343] = 415;
- map[344] = 415;
- map[345] = 415;
- map[346] = 415;
- map[347] = 415;
- map[348] = 415;
- map[349] = 415;
- map[351] = 510;
- map[352] = 510;
- map[354] = 415;
- map[355] = 415;
- map[356] = 510;
- map[357] = 510;
- map[358] = 415;
- map[359] = 415;
- map[361] = 415;
- map[362] = 415;
- map[363] = 415;
- map[364] = 415;
- map[365] = 415;
- map[366] = 415;
- map[367] = 415;
- map[368] = 415;
- map[369] = 415;
- map[370] = 510;
- map[371] = 415;
- map[372] = 510;
- map[373] = 510;
- map[374] = 510;
- map[375] = 415;
- map[376] = 510;
- map[377] = 415;
- map[378] = 415;
- map[381] = 415;
- map[382] = 415;
- map[383] = 415;
- map[386] = 415;
- map[387] = 415;
- map[388] = 415;
- map[389] = 415;
- map[391] = 415;
- map[392] = 415;
- map[393] = 415;
- map[394] = 415;
- map[395] = 415;
- map[396] = 415;
- map[397] = 415;
- map[398] = 415;
- map[399] = 415;
- map[403] = 415;
- map[404] = 415;
- map[406] = 415;
- map[420] = 510;
- map[421] = 415;
- map[422] = 510;
- map[423] = 510;
- map[424] = 415;
- map[425] = 510;
- map[426] = 510;
- map[427] = 510;
- map[428] = 510;
- map[429] = 510;
- map[430] = 510;
- map[431] = 415;
- map[432] = 415;
- map[433] = 415;
- map[434] = 415;
- map[435] = 415;
- map[436] = 510;
- map[437] = 510;
- map[438] = 510;
- map[439] = 510;
- map[441] = 415;
- map[442] = 415;
- map[443] = 510;
- map[444] = 510;
- map[445] = 415;
- map[446] = 510;
- map[447] = 510;
- map[448] = 510;
- map[449] = 415;
- map[451] = 510;
- map[452] = 510;
- map[453] = 415;
- map[454] = 415;
- map[455] = 510;
- map[456] = 415;
- map[457] = 415;
- map[458] = 510;
- map[459] = 415;
- map[460] = 510;
- map[461] = 415;
- map[462] = 510;
- map[463] = 510;
- map[464] = 415;
- map[465] = 415;
- map[466] = 415;
- map[467] = 415;
- map[468] = 415;
- map[469] = 415;
- map[471] = 510;
- map[472] = 415;
- map[473] = 415;
- map[474] = 415;
- map[475] = 510;
- map[476] = 415;
- map[477] = 415;
- map[478] = 415;
- map[479] = 415;
- map[481] = 510;
- map[482] = 510;
- map[483] = 510;
- map[484] = 510;
- map[485] = 415;
- map[486] = 510;
- map[487] = 510;
- map[488] = 415;
- map[489] = 510;
- map[490] = 510;
- map[491] = 415;
- map[492] = 415;
- map[493] = 415;
- map[494] = 415;
- map[495] = 415;
- map[496] = 415;
- map[497] = 415;
- map[498] = 510;
- map[499] = 415;
- map[502] = 415;
- map[506] = 415;
- map[507] = 415;
- map[508] = 415;
- map[512] = 415;
- map[513] = 415;
- map[515] = 510;
- map[516] = 510;
- map[521] = 510;
- map[522] = 510;
- map[523] = 510;
- map[524] = 510;
- map[525] = 510;
- map[526] = 510;
- map[527] = 510;
- map[528] = 510;
- map[529] = 510;
- map[530] = 510;
- map[531] = 510;
- map[532] = 510;
- map[533] = 510;
- map[534] = 510;
- map[535] = 510;
- map[536] = 510;
- map[537] = 510;
- map[538] = 510;
- map[539] = 510;
- map[540] = 510;
- map[541] = 415;
- map[542] = 415;
- map[543] = 415;
- map[544] = 415;
- map[545] = 415;
- map[546] = 415;
- map[547] = 510;
- map[548] = 510;
- map[549] = 510;
- map[550] = 415;
- map[551] = 510;
- map[552] = 415;
- map[553] = 415;
- map[554] = 415;
- map[556] = 415;
- map[557] = 415;
- map[558] = 415;
- map[559] = 510;
- map[561] = 415;
- map[562] = 510;
- map[563] = 415;
- map[564] = 415;
- map[565] = 415;
- map[566] = 415;
- map[567] = 415;
- map[568] = 510;
- map[569] = 510;
- map[570] = 415;
- map[571] = 415;
- map[572] = 415;
- map[573] = 415;
- map[574] = 415;
- map[576] = 415;
- map[577] = 510;
- map[578] = 415;
- map[579] = 415;
- map[581] = 510;
- map[582] = 510;
- map[583] = 415;
- map[584] = 415;
- map[585] = 415;
- map[586] = 415;
- map[587] = 415;
- map[588] = 415;
- map[589] = 415;
- map[591] = 415;
- map[592] = 415;
- map[593] = 415;
- map[594] = 415;
- map[595] = 415;
- map[596] = 510;
- map[597] = 415;
- map[598] = 510;
- map[599] = 415;
- map[601] = 510;
- map[602] = 510;
- map[603] = 510;
- map[604] = 415;
- map[606] = 510;
- map[609] = 510;
- map[610] = 415;
- map[613] = 510;
- map[614] = 510;
- map[616] = 415;
- map[617] = 415;
- map[618] = 510;
- map[620] = 510;
- map[621] = 415;
- map[622] = 415;
- map[623] = 510;
- map[624] = 510;
- map[625] = 510;
- map[626] = 415;
- map[627] = 415;
- map[631] = 510;
- map[632] = 510;
- map[633] = 510;
- map[634] = 510;
- map[635] = 510;
- map[636] = 510;
- map[637] = 415;
- map[638] = 510;
- map[639] = 510;
- map[641] = 415;
- map[642] = 510;
- map[643] = 510;
- map[644] = 510;
- map[645] = 510;
- map[646] = 510;
- map[647] = 415;
- map[648] = 415;
- map[649] = 510;
- map[651] = 510;
- map[652] = 510;
- map[653] = 510;
- map[654] = 510;
- map[655] = 510;
- map[656] = 510;
- map[657] = 510;
- map[658] = 510;
- map[659] = 510;
- map[661] = 415;
- map[662] = 415;
- map[663] = 415;
- map[664] = 415;
- map[665] = 415;
- map[666] = 415;
- map[667] = 510;
- map[668] = 415;
- map[669] = 415;
- map[670] = 510;
- map[671] = 510;
- map[672] = 510;
- map[673] = 415;
- map[674] = 510;
- map[675] = 510;
- map[676] = 510;
- map[677] = 415;
- map[678] = 510;
- map[680] = 510;
- map[681] = 415;
- map[682] = 510;
- map[683] = 510;
- map[684] = 510;
- map[685] = 510;
- map[686] = 510;
- map[687] = 510;
- map[688] = 415;
- map[689] = 510;
- map[691] = 415;
- map[692] = 415;
- map[694] = 415;
- map[695] = 415;
- map[696] = 415;
- map[697] = 415;
- map[701] = 415;
- map[703] = 415;
- map[704] = 510;
- map[705] = 415;
- map[706] = 510;
- map[708] = 510;
- map[709] = 510;
- map[713] = 510;
- map[715] = 415;
- map[716] = 510;
- map[717] = 510;
- map[718] = 510;
- map[721] = 415;
- map[723] = 415;
- map[724] = 510;
- map[725] = 415;
- map[726] = 415;
- map[727] = 510;
- map[728] = 415;
- map[729] = 510;
- map[731] = 415;
- map[732] = 510;
- map[733] = 510;
- map[734] = 510;
- map[735] = 510;
- map[736] = 510;
- map[737] = 415;
- map[738] = 415;
- map[739] = 415;
- map[741] = 510;
- map[742] = 415;
- map[743] = 510;
- map[744] = 415;
- map[745] = 510;
- map[746] = 510;
- map[747] = 415;
- map[748] = 510;
- map[749] = 415;
- map[750] = 415;
- map[751] = 415;
- map[752] = 415;
- map[753] = 415;
- map[754] = 510;
- map[755] = 415;
- map[756] = 415;
- map[757] = 510;
- map[758] = 510;
- map[759] = 415;
- map[761] = 415;
- map[762] = 510;
- map[763] = 510;
- map[764] = 415;
- map[765] = 415;
- map[768] = 415;
- map[769] = 510;
- map[771] = 415;
- map[772] = 415;
- map[773] = 415;
- map[774] = 415;
- map[775] = 415;
- map[776] = 415;
- map[777] = 415;
- map[778] = 510;
- map[779] = 510;
- map[780] = 415;
- map[781] = 415;
- map[782] = 510;
- map[783] = 510;
- map[784] = 510;
- map[785] = 510;
- map[786] = 510;
- map[787] = 510;
- map[788] = 415;
- map[789] = 415;
- map[790] = 510;
- map[791] = 510;
- map[792] = 510;
- map[793] = 510;
- map[794] = 510;
- map[795] = 510;
- map[796] = 510;
- map[797] = 510;
- map[798] = 510;
- map[799] = 510;
- map[801] = 510;
- map[803] = 510;
- map[804] = 415;
- map[806] = 415;
- map[807] = 415;
- map[810] = 510;
- map[813] = 415;
- map[814] = 510;
- map[815] = 510;
- map[819] = 510;
- map[820] = 510;
- map[821] = 415;
- map[822] = 415;
- map[823] = 510;
- map[824] = 415;
- map[825] = 510;
- map[826] = 415;
- map[827] = 510;
- map[828] = 510;
- map[829] = 510;
- map[830] = 510;
- map[831] = 510;
- map[832] = 510;
- map[833] = 510;
- map[834] = 510;
- map[835] = 510;
- map[836] = 510;
- map[837] = 510;
- map[838] = 510;
- map[839] = 510;
- map[840] = 510;
- map[841] = 510;
- map[842] = 510;
- map[843] = 510;
- map[845] = 510;
- map[846] = 510;
- map[847] = 510;
- map[848] = 510;
- map[849] = 510;
- map[851] = 415;
- map[852] = 415;
- map[853] = 415;
- map[854] = 415;
- map[855] = 415;
- map[856] = 415;
- map[857] = 415;
- map[858] = 415;
- map[859] = 415;
- map[861] = 415;
- map[862] = 510;
- map[863] = 415;
- map[864] = 415;
- map[865] = 510;
- map[866] = 510;
- map[867] = 510;
- map[868] = 415;
- map[869] = 510;
- map[871] = 415;
- map[872] = 415;
- map[873] = 415;
- map[874] = 510;
- map[875] = 415;
- map[876] = 415;
- map[877] = 415;
- map[878] = 415;
- map[879] = 415;
- map[881] = 510;
- map[882] = 415;
- map[883] = 415;
- map[884] = 510;
- map[885] = 415;
- map[886] = 510;
- map[887] = 510;
- map[888] = 510;
- map[889] = 510;
- map[891] = 510;
- map[892] = 415;
- map[893] = 510;
- map[894] = 415;
- map[895] = 510;
- map[896] = 415;
- map[897] = 415;
- map[898] = 415;
- map[901] = 510;
- map[903] = 415;
- map[904] = 415;
- map[905] = 415;
- map[910] = 510;
- map[912] = 415;
- map[917] = 415;
- map[921] = 415;
- map[922] = 415;
- map[923] = 415;
- map[924] = 415;
- map[925] = 415;
- map[926] = 415;
- map[927] = 415;
- map[928] = 415;
- map[929] = 415;
- map[930] = 510;
- map[931] = 415;
- map[932] = 510;
- map[933] = 510;
- map[934] = 510;
- map[935] = 510;
- map[937] = 510;
- map[938] = 510;
- map[939] = 510;
- map[940] = 415;
- map[941] = 415;
- map[942] = 510;
- map[943] = 510;
- map[944] = 510;
- map[945] = 510;
- map[946] = 510;
- map[947] = 510;
- map[948] = 415;
- map[949] = 415;
- map[951] = 415;
- map[952] = 415;
- map[953] = 415;
- map[954] = 415;
- map[955] = 415;
- map[956] = 415;
- map[957] = 415;
- map[960] = 415;
- map[961] = 415;
- map[962] = 415;
- map[964] = 415;
- map[965] = 415;
- map[966] = 415;
- map[967] = 415;
- map[968] = 415;
- map[969] = 415;
- map[972] = 415;
- map[973] = 415;
- map[974] = 415;
- map[975] = 510;
- map[977] = 510;
- map[978] = 415;
- map[979] = 415;
- map[981] = 415;
- map[982] = 415;
- map[983] = 415;
- map[984] = 415;
- map[985] = 415;
- map[986] = 415;
- map[987] = 510;
- map[989] = 415;
- map[991] = 415;
- map[992] = 415;
- map[993] = 415;
- map[994] = 415;
- map[995] = 415;
- map[997] = 415;
- map[998] = 415;
- }
-