From: "Barak A. Pearlmutter" <barak+git@cs.nuim.ie>
Date: Tue, 14 Feb 2012 15:12:31 +0000
Subject: struct init braces

---
 src/intr.c | 278 ++++++++++++++++++++++++++++++-------------------------------
 src/io.c   |  18 ++--
 src/lex.c  |  54 ++++++------
 3 files changed, 175 insertions(+), 175 deletions(-)

diff --git a/src/intr.c b/src/intr.c
index 8b6a401..eb5698f 100644
--- a/src/intr.c
+++ b/src/intr.c
@@ -42,182 +42,182 @@ LOCAL struct Intrblock
 	struct Intrbits intrval;
 	} intrtab[ ] =
 {
-"int", 		{ INTRCONV, TYLONG },
-"real", 	{ INTRCONV, TYREAL, 1 },
+{"int", 		{ INTRCONV, TYLONG }},
+{"real", 	{ INTRCONV, TYREAL, 1 }},
 		/* 1 ==> real(TYDCOMPLEX) yields TYDREAL */
-"dble", 	{ INTRCONV, TYDREAL },
-"dreal",	{ INTRCONV, TYDREAL, 0, 0, 0, 1 },
-"cmplx", 	{ INTRCONV, TYCOMPLEX },
-"dcmplx", 	{ INTRCONV, TYDCOMPLEX, 0, 1 },
-"ifix", 	{ INTRCONV, TYLONG },
-"idint", 	{ INTRCONV, TYLONG },
-"float", 	{ INTRCONV, TYREAL },
-"dfloat",	{ INTRCONV, TYDREAL },
-"sngl", 	{ INTRCONV, TYREAL },
-"ichar", 	{ INTRCONV, TYLONG },
-"iachar", 	{ INTRCONV, TYLONG },
-"char", 	{ INTRCONV, TYCHAR },
-"achar", 	{ INTRCONV, TYCHAR },
+{"dble", 	{ INTRCONV, TYDREAL }},
+{"dreal",	{ INTRCONV, TYDREAL, 0, 0, 0, 1 }},
+{"cmplx", 	{ INTRCONV, TYCOMPLEX }},
+{"dcmplx", 	{ INTRCONV, TYDCOMPLEX, 0, 1 }},
+{"ifix", 	{ INTRCONV, TYLONG }},
+{"idint", 	{ INTRCONV, TYLONG }},
+{"float", 	{ INTRCONV, TYREAL }},
+{"dfloat",	{ INTRCONV, TYDREAL }},
+{"sngl", 	{ INTRCONV, TYREAL }},
+{"ichar", 	{ INTRCONV, TYLONG }},
+{"iachar", 	{ INTRCONV, TYLONG }},
+{"char", 	{ INTRCONV, TYCHAR }},
+{"achar", 	{ INTRCONV, TYCHAR }},
 
 /* any MAX or MIN can be used with any types; the compiler will cast them
    correctly.  So rules against bad syntax in these expressions are not
    enforced */
 
-"max", 		{ INTRMAX, TYUNKNOWN },
-"max0", 	{ INTRMAX, TYLONG },
-"amax0", 	{ INTRMAX, TYREAL },
-"max1", 	{ INTRMAX, TYLONG },
-"amax1", 	{ INTRMAX, TYREAL },
-"dmax1", 	{ INTRMAX, TYDREAL },
-
-"and",		{ INTRBOOL, TYUNKNOWN, OPBITAND },
-"or",		{ INTRBOOL, TYUNKNOWN, OPBITOR },
-"xor",		{ INTRBOOL, TYUNKNOWN, OPBITXOR },
-"not",		{ INTRBOOL, TYUNKNOWN, OPBITNOT },
-"lshift",	{ INTRBOOL, TYUNKNOWN, OPLSHIFT },
-"rshift",	{ INTRBOOL, TYUNKNOWN, OPRSHIFT },
+{"max", 		{ INTRMAX, TYUNKNOWN }},
+{"max0", 	{ INTRMAX, TYLONG }},
+{"amax0", 	{ INTRMAX, TYREAL }},
+{"max1", 	{ INTRMAX, TYLONG }},
+{"amax1", 	{ INTRMAX, TYREAL }},
+{"dmax1", 	{ INTRMAX, TYDREAL }},
+
+{"and",		{ INTRBOOL, TYUNKNOWN, OPBITAND }},
+{"or",		{ INTRBOOL, TYUNKNOWN, OPBITOR }},
+{"xor",		{ INTRBOOL, TYUNKNOWN, OPBITXOR }},
+{"not",		{ INTRBOOL, TYUNKNOWN, OPBITNOT }},
+{"lshift",	{ INTRBOOL, TYUNKNOWN, OPLSHIFT }},
+{"rshift",	{ INTRBOOL, TYUNKNOWN, OPRSHIFT }},
 
-"min", 		{ INTRMIN, TYUNKNOWN },
-"min0", 	{ INTRMIN, TYLONG },
-"amin0", 	{ INTRMIN, TYREAL },
-"min1", 	{ INTRMIN, TYLONG },
-"amin1", 	{ INTRMIN, TYREAL },
-"dmin1", 	{ INTRMIN, TYDREAL },
+{"min", 		{ INTRMIN, TYUNKNOWN }},
+{"min0", 	{ INTRMIN, TYLONG }},
+{"amin0", 	{ INTRMIN, TYREAL }},
+{"min1", 	{ INTRMIN, TYLONG }},
+{"amin1", 	{ INTRMIN, TYREAL }},
+{"dmin1", 	{ INTRMIN, TYDREAL }},
 
-"aint", 	{ INTRGEN, 2, 0 },
-"dint", 	{ INTRSPEC, TYDREAL, 1 },
+{"aint", 	{ INTRGEN, 2, 0 }},
+{"dint", 	{ INTRSPEC, TYDREAL, 1 }},
 
-"anint", 	{ INTRGEN, 2, 2 },
-"dnint", 	{ INTRSPEC, TYDREAL, 3 },
+{"anint", 	{ INTRGEN, 2, 2 }},
+{"dnint", 	{ INTRSPEC, TYDREAL, 3 }},
 
-"nint", 	{ INTRGEN, 4, 4 },
-"idnint", 	{ INTRGEN, 2, 6 },
+{"nint", 	{ INTRGEN, 4, 4 }},
+{"idnint", 	{ INTRGEN, 2, 6 }},
 
-"abs", 		{ INTRGEN, 6, 8 },
-"iabs", 	{ INTRGEN, 2, 9 },
-"dabs", 	{ INTRSPEC, TYDREAL, 11 },
-"cabs", 	{ INTRSPEC, TYREAL, 12, 0, 13 },
-"zabs", 	{ INTRSPEC, TYDREAL, 13, 1 },
+{"abs", 		{ INTRGEN, 6, 8 }},
+{"iabs", 	{ INTRGEN, 2, 9 }},
+{"dabs", 	{ INTRSPEC, TYDREAL, 11 }},
+{"cabs", 	{ INTRSPEC, TYREAL, 12, 0, 13 }},
+{"zabs", 	{ INTRSPEC, TYDREAL, 13, 1 }},
 
-"mod", 		{ INTRGEN, 4, 14 },
-"amod", 	{ INTRSPEC, TYREAL, 16, 0, 17 },
-"dmod", 	{ INTRSPEC, TYDREAL, 17 },
+{"mod", 		{ INTRGEN, 4, 14 }},
+{"amod", 	{ INTRSPEC, TYREAL, 16, 0, 17 }},
+{"dmod", 	{ INTRSPEC, TYDREAL, 17 }},
 
-"sign", 	{ INTRGEN, 4, 18 },
-"isign", 	{ INTRGEN, 2, 19 },
-"dsign", 	{ INTRSPEC, TYDREAL, 21 },
+{"sign", 	{ INTRGEN, 4, 18 }},
+{"isign", 	{ INTRGEN, 2, 19 }},
+{"dsign", 	{ INTRSPEC, TYDREAL, 21 }},
 
-"dim", 		{ INTRGEN, 4, 22 },
-"idim", 	{ INTRGEN, 2, 23 },
-"ddim", 	{ INTRSPEC, TYDREAL, 25 },
+{"dim", 		{ INTRGEN, 4, 22 }},
+{"idim", 	{ INTRGEN, 2, 23 }},
+{"ddim", 	{ INTRSPEC, TYDREAL, 25 }},
 
-"dprod", 	{ INTRSPEC, TYDREAL, 26 },
+{"dprod", 	{ INTRSPEC, TYDREAL, 26 }},
 
-"len", 		{ INTRSPEC, TYLONG, 27 },
-"index", 	{ INTRSPEC, TYLONG, 29 },
+{"len", 		{ INTRSPEC, TYLONG, 27 }},
+{"index", 	{ INTRSPEC, TYLONG, 29 }},
 
-"imag", 	{ INTRGEN, 2, 31 },
-"aimag", 	{ INTRSPEC, TYREAL, 31, 0, 32 },
-"dimag", 	{ INTRSPEC, TYDREAL, 32 },
+{"imag", 	{ INTRGEN, 2, 31 }},
+{"aimag", 	{ INTRSPEC, TYREAL, 31, 0, 32 }},
+{"dimag", 	{ INTRSPEC, TYDREAL, 32 }},
 
-"conjg", 	{ INTRGEN, 2, 33 },
-"dconjg", 	{ INTRSPEC, TYDCOMPLEX, 34, 1 },
+{"conjg", 	{ INTRGEN, 2, 33 }},
+{"dconjg", 	{ INTRSPEC, TYDCOMPLEX, 34, 1 }},
 
-"sqrt", 	{ INTRGEN, 4, 35 },
-"dsqrt", 	{ INTRSPEC, TYDREAL, 36 },
-"csqrt", 	{ INTRSPEC, TYCOMPLEX, 37, 0, 38 },
-"zsqrt", 	{ INTRSPEC, TYDCOMPLEX, 38, 1 },
+{"sqrt", 	{ INTRGEN, 4, 35 }},
+{"dsqrt", 	{ INTRSPEC, TYDREAL, 36 }},
+{"csqrt", 	{ INTRSPEC, TYCOMPLEX, 37, 0, 38 }},
+{"zsqrt", 	{ INTRSPEC, TYDCOMPLEX, 38, 1 }},
 
-"exp", 		{ INTRGEN, 4, 39 },
-"dexp", 	{ INTRSPEC, TYDREAL, 40 },
-"cexp", 	{ INTRSPEC, TYCOMPLEX, 41, 0, 42 },
-"zexp", 	{ INTRSPEC, TYDCOMPLEX, 42, 1 },
+{"exp", 		{ INTRGEN, 4, 39 }},
+{"dexp", 	{ INTRSPEC, TYDREAL, 40 }},
+{"cexp", 	{ INTRSPEC, TYCOMPLEX, 41, 0, 42 }},
+{"zexp", 	{ INTRSPEC, TYDCOMPLEX, 42, 1 }},
 
-"log", 		{ INTRGEN, 4, 43 },
-"alog", 	{ INTRSPEC, TYREAL, 43, 0, 44 },
-"dlog", 	{ INTRSPEC, TYDREAL, 44 },
-"clog", 	{ INTRSPEC, TYCOMPLEX, 45, 0, 46 },
-"zlog", 	{ INTRSPEC, TYDCOMPLEX, 46, 1 },
+{"log", 		{ INTRGEN, 4, 43 }},
+{"alog", 	{ INTRSPEC, TYREAL, 43, 0, 44 }},
+{"dlog", 	{ INTRSPEC, TYDREAL, 44 }},
+{"clog", 	{ INTRSPEC, TYCOMPLEX, 45, 0, 46 }},
+{"zlog", 	{ INTRSPEC, TYDCOMPLEX, 46, 1 }},
 
-"log10", 	{ INTRGEN, 2, 47 },
-"alog10", 	{ INTRSPEC, TYREAL, 47, 0, 48 },
-"dlog10", 	{ INTRSPEC, TYDREAL, 48 },
+{"log10", 	{ INTRGEN, 2, 47 }},
+{"alog10", 	{ INTRSPEC, TYREAL, 47, 0, 48 }},
+{"dlog10", 	{ INTRSPEC, TYDREAL, 48 }},
 
-"sin", 		{ INTRGEN, 4, 49 },
-"dsin", 	{ INTRSPEC, TYDREAL, 50 },
-"csin", 	{ INTRSPEC, TYCOMPLEX, 51, 0, 52 },
-"zsin", 	{ INTRSPEC, TYDCOMPLEX, 52, 1 },
+{"sin", 		{ INTRGEN, 4, 49 }},
+{"dsin", 	{ INTRSPEC, TYDREAL, 50 }},
+{"csin", 	{ INTRSPEC, TYCOMPLEX, 51, 0, 52 }},
+{"zsin", 	{ INTRSPEC, TYDCOMPLEX, 52, 1 }},
 
-"cos", 		{ INTRGEN, 4, 53 },
-"dcos", 	{ INTRSPEC, TYDREAL, 54 },
-"ccos", 	{ INTRSPEC, TYCOMPLEX, 55, 0, 56 },
-"zcos", 	{ INTRSPEC, TYDCOMPLEX, 56, 1 },
+{"cos", 		{ INTRGEN, 4, 53 }},
+{"dcos", 	{ INTRSPEC, TYDREAL, 54 }},
+{"ccos", 	{ INTRSPEC, TYCOMPLEX, 55, 0, 56 }},
+{"zcos", 	{ INTRSPEC, TYDCOMPLEX, 56, 1 }},
 
-"tan", 		{ INTRGEN, 2, 57 },
-"dtan", 	{ INTRSPEC, TYDREAL, 58 },
+{"tan", 		{ INTRGEN, 2, 57 }},
+{"dtan", 	{ INTRSPEC, TYDREAL, 58 }},
 
-"asin", 	{ INTRGEN, 2, 59 },
-"dasin", 	{ INTRSPEC, TYDREAL, 60 },
+{"asin", 	{ INTRGEN, 2, 59 }},
+{"dasin", 	{ INTRSPEC, TYDREAL, 60 }},
 
-"acos", 	{ INTRGEN, 2, 61 },
-"dacos", 	{ INTRSPEC, TYDREAL, 62 },
+{"acos", 	{ INTRGEN, 2, 61 }},
+{"dacos", 	{ INTRSPEC, TYDREAL, 62 }},
 
-"atan", 	{ INTRGEN, 2, 63 },
-"datan", 	{ INTRSPEC, TYDREAL, 64 },
+{"atan", 	{ INTRGEN, 2, 63 }},
+{"datan", 	{ INTRSPEC, TYDREAL, 64 }},
 
-"atan2", 	{ INTRGEN, 2, 65 },
-"datan2", 	{ INTRSPEC, TYDREAL, 66 },
+{"atan2", 	{ INTRGEN, 2, 65 }},
+{"datan2", 	{ INTRSPEC, TYDREAL, 66 }},
 
-"sinh", 	{ INTRGEN, 2, 67 },
-"dsinh", 	{ INTRSPEC, TYDREAL, 68 },
+{"sinh", 	{ INTRGEN, 2, 67 }},
+{"dsinh", 	{ INTRSPEC, TYDREAL, 68 }},
 
-"cosh", 	{ INTRGEN, 2, 69 },
-"dcosh", 	{ INTRSPEC, TYDREAL, 70 },
+{"cosh", 	{ INTRGEN, 2, 69 }},
+{"dcosh", 	{ INTRSPEC, TYDREAL, 70 }},
 
-"tanh", 	{ INTRGEN, 2, 71 },
-"dtanh", 	{ INTRSPEC, TYDREAL, 72 },
+{"tanh", 	{ INTRGEN, 2, 71 }},
+{"dtanh", 	{ INTRSPEC, TYDREAL, 72 }},
 
-"lge",		{ INTRSPEC, TYLOGICAL, 73},
-"lgt",		{ INTRSPEC, TYLOGICAL, 75},
-"lle",		{ INTRSPEC, TYLOGICAL, 77},
-"llt",		{ INTRSPEC, TYLOGICAL, 79},
+{"lge",		{ INTRSPEC, TYLOGICAL, 73}},
+{"lgt",		{ INTRSPEC, TYLOGICAL, 75}},
+{"lle",		{ INTRSPEC, TYLOGICAL, 77}},
+{"llt",		{ INTRSPEC, TYLOGICAL, 79}},
 
 #if 0
-"epbase",	{ INTRCNST, 4, 0 },
-"epprec",	{ INTRCNST, 4, 4 },
-"epemin",	{ INTRCNST, 2, 8 },
-"epemax",	{ INTRCNST, 2, 10 },
-"eptiny",	{ INTRCNST, 2, 12 },
-"ephuge",	{ INTRCNST, 4, 14 },
-"epmrsp",	{ INTRCNST, 2, 18 },
+{"epbase",	{ INTRCNST, 4, 0 }},
+{"epprec",	{ INTRCNST, 4, 4 }},
+{"epemin",	{ INTRCNST, 2, 8 }},
+{"epemax",	{ INTRCNST, 2, 10 }},
+{"eptiny",	{ INTRCNST, 2, 12 }},
+{"ephuge",	{ INTRCNST, 4, 14 }},
+{"epmrsp",	{ INTRCNST, 2, 18 }},
 #endif
 
-"fpexpn",	{ INTRGEN, 4, 81 },
-"fpabsp",	{ INTRGEN, 2, 85 },
-"fprrsp",	{ INTRGEN, 2, 87 },
-"fpfrac",	{ INTRGEN, 2, 89 },
-"fpmake",	{ INTRGEN, 2, 91 },
-"fpscal",	{ INTRGEN, 2, 93 },
-
-"cdabs", 	{ INTRSPEC, TYDREAL,	13, 1, 0, 1 },
-"cdsqrt", 	{ INTRSPEC, TYDCOMPLEX, 38, 1, 0, 1 },
-"cdexp", 	{ INTRSPEC, TYDCOMPLEX, 42, 1, 0, 1 },
-"cdlog", 	{ INTRSPEC, TYDCOMPLEX, 46, 1, 0, 1 },
-"cdsin", 	{ INTRSPEC, TYDCOMPLEX, 52, 1, 0, 1 },
-"cdcos", 	{ INTRSPEC, TYDCOMPLEX, 56, 1, 0, 1 },
-
-"iand",		{ INTRBOOL, TYUNKNOWN, OPBITAND, 0, 0, 2 },
-"ior",		{ INTRBOOL, TYUNKNOWN, OPBITOR,  0, 0, 2 },
-"ieor",		{ INTRBOOL, TYUNKNOWN, OPBITXOR, 0, 0, 2 },
-
-"btest",	{ INTRBGEN, TYLOGICAL, OPBITTEST,0, 0, 2 },
-"ibclr",	{ INTRBGEN, TYUNKNOWN, OPBITCLR, 0, 0, 2 },
-"ibset",	{ INTRBGEN, TYUNKNOWN, OPBITSET, 0, 0, 2 },
-"ibits",	{ INTRBGEN, TYUNKNOWN, OPBITBITS,0, 0, 2 },
-"ishft",	{ INTRBGEN, TYUNKNOWN, OPBITSH,  0, 0, 2 },
-"ishftc",	{ INTRBGEN, TYUNKNOWN, OPBITSHC, 0, 0, 2 },
-
-"" };
+{"fpexpn",	{ INTRGEN, 4, 81 }},
+{"fpabsp",	{ INTRGEN, 2, 85 }},
+{"fprrsp",	{ INTRGEN, 2, 87 }},
+{"fpfrac",	{ INTRGEN, 2, 89 }},
+{"fpmake",	{ INTRGEN, 2, 91 }},
+{"fpscal",	{ INTRGEN, 2, 93 }},
+
+{"cdabs", 	{ INTRSPEC, TYDREAL,	13, 1, 0, 1 }},
+{"cdsqrt", 	{ INTRSPEC, TYDCOMPLEX, 38, 1, 0, 1 }},
+{"cdexp", 	{ INTRSPEC, TYDCOMPLEX, 42, 1, 0, 1 }},
+{"cdlog", 	{ INTRSPEC, TYDCOMPLEX, 46, 1, 0, 1 }},
+{"cdsin", 	{ INTRSPEC, TYDCOMPLEX, 52, 1, 0, 1 }},
+{"cdcos", 	{ INTRSPEC, TYDCOMPLEX, 56, 1, 0, 1 }},
+
+{"iand",		{ INTRBOOL, TYUNKNOWN, OPBITAND, 0, 0, 2 }},
+{"ior",		{ INTRBOOL, TYUNKNOWN, OPBITOR,  0, 0, 2 }},
+{"ieor",		{ INTRBOOL, TYUNKNOWN, OPBITXOR, 0, 0, 2 }},
+
+{"btest",	{ INTRBGEN, TYLOGICAL, OPBITTEST,0, 0, 2 }},
+{"ibclr",	{ INTRBGEN, TYUNKNOWN, OPBITCLR, 0, 0, 2 }},
+{"ibset",	{ INTRBGEN, TYUNKNOWN, OPBITSET, 0, 0, 2 }},
+{"ibits",	{ INTRBGEN, TYUNKNOWN, OPBITBITS,0, 0, 2 }},
+{"ishft",	{ INTRBGEN, TYUNKNOWN, OPBITSH,  0, 0, 2 }},
+{"ishftc",	{ INTRBGEN, TYUNKNOWN, OPBITSHC, 0, 0, 2 }},
+
+{"" }};
 
 
 LOCAL struct Specblock
diff --git a/src/io.c b/src/io.c
index ed1ed16..b35a0f6 100644
--- a/src/io.c
+++ b/src/io.c
@@ -273,15 +273,15 @@ LOCAL char **io_fields;
 #define zork(n,t) n, sizeof(n)/sizeof(char *) - 1, t
 
 LOCAL io_setup io_stuff[] = {
-	zork(cilist_names, TYCILIST),	/* external read/write */
-	zork(inlist_names, TYINLIST),	/* inquire */
-	zork(olist_names,  TYOLIST),	/* open */
-	zork(cllist_names, TYCLLIST),	/* close */
-	zork(alist_names,  TYALIST),	/* rewind */
-	zork(alist_names,  TYALIST),	/* backspace */
-	zork(alist_names,  TYALIST),	/* endfile */
-	zork(icilist_names,TYICILIST),	/* internal read */
-	zork(icilist_names,TYICILIST)	/* internal write */
+	{zork(cilist_names, TYCILIST)},	/* external read/write */
+	{zork(inlist_names, TYINLIST)},	/* inquire */
+	{zork(olist_names,  TYOLIST)},	/* open */
+	{zork(cllist_names, TYCLLIST)},	/* close */
+	{zork(alist_names,  TYALIST)},	/* rewind */
+	{zork(alist_names,  TYALIST)},	/* backspace */
+	{zork(alist_names,  TYALIST)},	/* endfile */
+	{zork(icilist_names,TYICILIST)},	/* internal read */
+	{zork(icilist_names,TYICILIST)}	/* internal write */
 	};
 
 #undef zork
diff --git a/src/lex.c b/src/lex.c
index 4b4bce4..b593113 100644
--- a/src/lex.c
+++ b/src/lex.c
@@ -158,36 +158,36 @@ LOCAL struct Keylist *keystart[26], *keyend[26];
 
 static struct Punctlist puncts[ ] =
 {
-	'(', SLPAR,
-	')', SRPAR,
-	'=', SEQUALS,
-	',', SCOMMA,
-	'+', SPLUS,
-	'-', SMINUS,
-	'*', SSTAR,
-	'/', SSLASH,
-	'$', SCURRENCY,
-	':', SCOLON,
-	'<', SLT,
-	'>', SGT,
-	0, 0 };
+	{'(', SLPAR},
+	{')', SRPAR},
+	{'=', SEQUALS},
+	{',', SCOMMA},
+	{'+', SPLUS},
+	{'-', SMINUS},
+	{'*', SSTAR},
+	{'/', SSLASH},
+	{'$', SCURRENCY},
+	{':', SCOLON},
+	{'<', SLT},
+	{'>', SGT},
+	{0, 0}};
 
 LOCAL struct Dotlist  dots[ ] =
 {
-	"and.", SAND,
-	    "or.", SOR,
-	    "not.", SNOT,
-	    "true.", STRUE,
-	    "false.", SFALSE,
-	    "eq.", SEQ,
-	    "ne.", SNE,
-	    "lt.", SLT,
-	    "le.", SLE,
-	    "gt.", SGT,
-	    "ge.", SGE,
-	    "neqv.", SNEQV,
-	    "eqv.", SEQV,
-	    0, 0 };
+	{"and.", SAND},
+	    {"or.", SOR},
+	    {"not.", SNOT},
+	    {"true.", STRUE},
+	    {"false.", SFALSE},
+	    {"eq.", SEQ},
+	    {"ne.", SNE},
+	    {"lt.", SLT},
+	    {"le.", SLE},
+	    {"gt.", SGT},
+	    {"ge.", SGE},
+	    {"neqv.", SNEQV},
+	    {"eqv.", SEQV},
+	    {0, 0}};
 
 LOCAL struct Keylist  keys[ ] =
 {
