www.pudn.com > slist.zip > SLISTTT.C


/***************************************************************************** 
 
EXHIBIT A 
 
"The contents of this file are subject to the Novell Free Source Agreement  
Version 1.0 (the "Agreement"); you may not use this file except in  
compliance with the Agreement. You may obtain a copy of the Agreement at  
http://developer.novell.com/. 
 
Software distributed under the Agreement is distributed on an "AS IS" basis, 
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the Agreement  
for the specific language governing rights and limitations under the  
Agreement. 
 
The Original Code is slisttt.c, released under the Novell Free Source License  
Agreement 1.0 on 1999. 
 
The Initial Developer of the Original Code is Novell. Portions created  
by Novell are Copyright (C) 1988-90, Novell, Inc. All Rights Reserved. 
 
*****************************************************************************/ 
 
#include "mx.h" 
#undef UC 
#define UC unsigned char 
#undef TP 
#define TP TOKENTABLENODE * 
#undef MP 
#define MP MATCH * 
 
TOKENTABLENODE theTokenTable[17] = 
{ 
	{	(TP)2,	(TP)12,	(MP)8,	(UC)'C'}, 
	{	(TP)3,	(TP)0,	(MP)7,	(UC)'O'}, 
	{	(TP)4,	(TP)0,	(MP)6,	(UC)'N'}, 
	{	(TP)5,	(TP)0,	(MP)5,	(UC)'T'}, 
	{	(TP)6,	(TP)0,	(MP)4,	(UC)'I'}, 
	{	(TP)7,	(TP)0,	(MP)3,	(UC)'N'}, 
	{	(TP)8,	(TP)0,	(MP)2,	(UC)'U'}, 
	{	(TP)0,	(TP)9,	(MP)1,	(UC)'E'}, 
	{	(TP)10,	(TP)0,	(MP)11,	(UC)'O'}, 
	{	(TP)11,	(TP)0,	(MP)10,	(UC)'U'}, 
	{	(TP)0,	(TP)0,	(MP)9,	(UC)'S'}, 
	{	(TP)13,	(TP)0,	(MP)16,	(UC)'D'}, 
	{	(TP)14,	(TP)0,	(MP)15,	(UC)'O'}, 
	{	(TP)15,	(TP)0,	(MP)14,	(UC)'M'}, 
	{	(TP)16,	(TP)0,	(MP)0,	(UC)'A'}, 
	{	(TP)17,	(TP)0,	(MP)13,	(UC)'I'}, 
	{	(TP)0,	(TP)0,	(MP)12,	(UC)'N'} 
}; 
 
MATCH matchTable[200] = 
{ 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)150,	(UC)0,	(MP)0}, 
	{	(UC)151,	(UC)0,	(MP)0}, 
	{	(UC)151,	(UC)0,	(MP)0}, 
	{	(UC)151,	(UC)0,	(MP)0}, 
	{	(UC)151,	(UC)0,	(MP)0}, 
	{	(UC)151,	(UC)0,	(MP)0} 
}; 
 
TP tTreeStart = (TP)1; 
int tTreeSize = 17; 
int matchTSize = 16; 
 
UC nT1[] = 
{ 
	(UC)245, (UC)0, (UC)0, (UC)1, (UC)255, 0 
}; 
UC nT2[] = 
{ 
	(UC)245, (UC)1, (UC)1, (UC)0, (UC)255, 0 
}; 
UC nT3[] = 
{ 
	(UC)2, (UC)150, (UC)250, (UC)0, 0 
}; 
UC nT4[] = 
{ 
	(UC)2, (UC)151, (UC)250, (UC)1, 0 
}; 
UC nT5[] = 
{ 
	(UC)245, (UC)2, (UC)0, (UC)1, (UC)47, (UC)250, (UC)2, 0 
}; 
UC nT6[] = 
{ 
	(UC)248, (UC)251, (UC)3, (UC)248, (UC)251, (UC)4, (UC)248, (UC)251, (UC)5, (UC)248, (UC)251, (UC)5, 
	(UC)1, (UC)3, (UC)248, 0 
}; 
UC *nonTerminals[] = 
{ 
	0, nT1, nT2, nT3, nT4, nT5, nT6 
}; 
UC *pSession = nT6; 
 
UC v0[] = {(UC)0x7f,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0x80,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00}; 
UC v1[] = {(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x01,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x08,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x00}; 
UC v2[] = {(UC)0x80,(UC)0x00,(UC)0x00,(UC)0x00,(UC)0x7f,(UC)0xfe,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xf7,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff,(UC)0xff}; 
UC *varAddressTable[] = {v0, v1, v2};