📄 pcbrf.c
字号:
ic23 []={IC2 ,IC2 ,IC2 ,IC2 ,IC2 ,IC3 ,NC1 ,IC3 ,IC2 ,NC1 ,IC2 ,IC2 ,IC2 ,IC2 , IC2 ,IC2 ,IC2 ,IC2 ,IC2 ,IC2 ,IC2 ,IC2 ,IC2 },/*ic3*/ic23a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,NOP_,NOP_, NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},/* bit nmc num nms spc non ee eob rs com eti grpo lit lita dso dsc pero plus refc rni tagc tago vi */li21 []={LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,NC1 ,LI1 , LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 ,LI1 },/*li1*/li21a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,NOP_,NOP_, NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},la21 []={LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,NC1 , LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 ,LA1 },/*la1*/la21a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,NOP_,NOP_, NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},*mditab[] = {nc21, nc21a, ic21, ic21a, ic22, ic22a, ic23, ic23a, li21, li21a, la21, la21a};struct parse pcbmdi = {"MDI", lexmark, mditab, 0, 0, 0, 0};#undef NC1#undef IC1#undef IC2#undef IC3#undef LI1#undef LA1/* PCBMSRC: State and action table for marked section in RCDATA mode. Nested marked sections are not recognized; the first MSE ends it. Initial state assumes an MS declaration was processed. Columns are based on LEXLMS.C but LITC column needn't exist.*//* Symbols for state names (end with a number). */#define ET0 0 /* MSS processed or buffer flushed; no data. */#define DA0 2 /* Data in buffer. */#define ER0 4 /* ERO found; start lookahead buffer. */#define CR0 6 /* CRO found (ER0, RNI). */#define ME0 8 /* MSC found. */#define ME1 10 /* MSC, MSC found. */static UNCH/* free nu min nms spc non ee eob rs re sep cde nsc ero mdo msc mso pero rni tagc tago litc */et30 []={DA0 ,DA0 ,DA0 ,DA0 ,DA0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,DA0 ,DA0 ,ET0 ,ER0 , DA0 ,ME0 ,DA0 ,DA0 ,DA0 ,DA0 ,DA0 ,DA0 },/*et0*/et30a[]={DAS_,DAS_,DAS_,DAS_,DAS_,NON_,EE_ ,GET_,RS_ ,REF_,DAS_,DAS_,NSC_,LAS_, DAS_,LAS_,DAS_,DAS_,DAS_,DAS_,DAS_,DAS_},da30 []={DA0 ,DA0 ,DA0 ,DA0 ,DA0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,DA0 ,DA0 ,ET0 ,ET0 , DA0 ,ET0 ,DA0 ,DA0 ,DA0 ,DA0 ,DA0 ,DA0 },/*da0*/da30a[]={NOP_,NOP_,NOP_,NOP_,NOP_,DAF_,DAF_,DAF_,DAF_,DAF_,NOP_,NOP_,DAF_,DAF_, NOP_,DAF_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},er30 []={ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ER0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 , ET0 ,ET0 ,ET0 ,ET0 ,CR0 ,ET0 ,ET0 ,ET0 },/*er0*/er30a[]={LAF_,LAF_,LAF_,ERX_,LAF_,LAF_,LAF_,GET_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_, LAF_,LAF_,LAF_,LAF_,LAM_,LAF_,LAF_,LAF_},/* free nu min nms spc non ee eob rs re sep cde nsc ero mdo msc mso pero rni tagc tago litc */cr30 []={ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,CR0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 , ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 ,ET0 },/*cr0*/cr30a[]={LAF_,CRN_,LAF_,CRA_,LAF_,LAF_,LAF_,GET_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_, LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_},me30 []={ET0, ET0, ET0, ET0, ET0 ,ET0, ET0, ME0, ET0 ,ET0 ,ET0 ,ET0, ET0 ,ET0 , ET0, ME1, ET0 ,ET0, ET0 ,ET0, ET0 ,ET0 },/*me0*/me30a[]={LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,GET_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_, LAF_,LAM_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_},me31 []={ET0, ET0, ET0, ET0, ET0 ,ET0, ET0, ME1, ET0 ,ET0 ,ET0 ,ET0, ET0 ,ET0 , ET0, ET0, ET0 ,ET0, ET0 ,ET0, ET0 ,ET0,},/*me1*/me31a[]={LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,GET_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_, LAF_,LAF_,LAF_,LAF_,LAF_,MSE_,LAF_,LAF_},*msrctab[]={et30, et30a, da30, da30a, er30, er30a, cr30, cr30a, me30, me30a, me31, me31a};struct parse pcbmsrc = {"MSRCDATA", lexlms, msrctab, 0, 0, 0, 0};#undef ET0#undef DA0#undef ER0#undef CR0#undef ME0#undef ME1/* PCBMSC: State and action table for marked section in CDATA mode. Nested marked sections are not recognized; the first MSE ends it. Initial state assumes an MS declaration was processed.*//* Symbols for state names (end with a number). */#define ET2 0 /* MSS processed or buffer flushed; no data. */#define DA2 2 /* Data in buffer. */#define ME2 4 /* MSC found. */#define ME3 6 /* MSC, MSC found. */static UNCH/* free nu min nms spc non ee eob rs re sep cde nsc ero mdo msc mso pero rni tagc tago litc */et32 []={DA2 ,DA2 ,DA2 ,DA2 ,DA2 ,ET2 ,ET2 ,ET2 ,ET2 ,ET2 ,DA2 ,DA2 ,ET2 ,DA2 , DA2 ,ME2 ,DA2 ,DA2 ,DA2 ,DA2 ,DA2 ,DA2 },/*et2*/et32a[]={DAS_,DAS_,DAS_,DAS_,DAS_,NON_,EOF_,GET_,RS_ ,REF_,DAS_,DAS_,NSC_,DAS_, DAS_,LAS_,DAS_,DAS_,DAS_,DAS_,DAS_,DAS_},da32 []={DA2 ,DA2 ,DA2 ,DA2 ,DA2 ,ET2 ,ET2 ,ET2 ,ET2 ,ET2 ,DA2 ,DA2 ,ET2 ,DA2 , DA2 ,ET2 ,DA2 ,DA2 ,DA2 ,DA2 ,DA2 ,DA2 },/*da2*/da32a[]={NOP_,NOP_,NOP_,NOP_,NOP_,DAF_,DAF_,DAF_,DAF_,DAF_,NOP_,NOP_,DAF_,NOP_, NOP_,DAF_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},me32 []={ET2, ET2, ET2, ET2, ET2 ,ET2, ET2, ME2, ET2 ,ET2 ,ET2 ,ET2, ET2 ,ET2 , ET2, ME3, ET2 ,ET2, ET2 ,ET2, ET2, ET2,},/*me2*/me32a[]={LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,GET_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_, LAF_,LAM_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_},me33 []={ET2, ET2, ET2, ET2, ET2 ,ET2, ET2, ME3, ET2 ,ET2 ,ET2 ,ET2, ET2 ,ET2 , ET2, ET2, ET2 ,ET2, ET2 ,ET2, ET2, ET2,},/*me3*/me33a[]={LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_,GET_,LAF_,LAF_,LAF_,LAF_,LAF_,LAF_, LAF_,LAF_,LAF_,LAF_,LAF_,MSE_,LAF_,LAF_},*msctab[]={et32, et32a, da32, da32a, me32, me32a, me33, me33a};struct parse pcbmsc = {"MSCDATA", lexlms, msctab, 0, 0, 0, 0};#undef ET2#undef DA2#undef ME2#undef ME3/* PCBMSI: State and action table for marked section in IGNORE mode. Nested marked sections are recognized; the matching MSE ends it. Initial state assumes an MS declaration, MSS, or MSE was processed.*//* Symbols for state names (end with a number). */#define ET4 0 /* Markup found or buffer flushed; no data. */#define ME4 2 /* MSC found. */#define ME5 4 /* MSC, MSC found. */#define ES4 6 /* TAGO found. */#define MD4 8 /* MDO found (TAGO, MDO[2]). */static UNCH/* free nu min nms spc non ee eob rs re sep cde nsc ero mdo msc mso pero rni tagc tago litc refc */et34 []={ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 , ET4 ,ME4 ,ET4 ,ET4 ,ET4 ,ET4 ,ES4 ,ET4 ,ET4 },/*et4*/et34a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,SYS_,NOP_, NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},me34 []={ET4, ET4, ET4, ET4, ET4 ,ET4, ET4, ME4, ET4 ,ET4 ,ET4 ,ET4, ET4, ET4 , ET4, ME5 ,ET4, ET4, ET4 ,ET4, ET4, ET4, ET4,},/*me4*/me34a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,SYS_,NOP_, NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},me35 []={ET4, ET4, ET4, ET4, ET4 ,ET4, ET4, ME5, ET4 ,ET4 ,ET4 ,ET4, ET4, ET4 , ET4, ET4 ,ET4, ET4, ET4 ,ET4, ET4, ET4, ET4,},/*me5*/me35a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,SYS_,NOP_, NOP_,NOP_,NOP_,NOP_,NOP_,MSE_,NOP_,NOP_,NOP_},/* free nu min nms spc non ee eob rs re sep cde nsc ero mdo msc mso pero rni tagc tago litc */es34 []={ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ES4 ,ET4 ,ES4 ,ET4 ,ET4 ,ET4 ,ET4 ,ES4 ,ET4 , MD4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 ,ET4 },/*es4*/es34a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,SYS_,NOP_, NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_,NOP_},md34 []={ET4, ET4, ET4, ET4, ET4 ,MD4, ET4, MD4, ET4 ,ET4 ,ET4 ,ET4, ET4, ET4 , ET4, ET4 ,ET4, ET4, ET4 ,ET4, ET4, ET4,},/*md4*/md34a[]={NOP_,NOP_,NOP_,NOP_,NOP_,SYS_,EOF_,GET_,RS_ ,NOP_,NOP_,NOP_,SYS_,NOP_, NOP_,NOP_,MSS_,NOP_,NOP_,NOP_,NOP_,NOP_},*msitab[]={et34, et34a, me34, me34a, me35, me35a, es34, es34a, md34, md34a};struct parse pcbmsi = {"MSIGNORE", lexlms, msitab, 0, 0, 0, 0};#undef ET4#undef ME4#undef ME5#undef ES4#undef MD4#undef NS4/* PCBSTAG: State and action table for start-tag parse. Columns are based on LEXMARK.C.*//* Symbols for state names (end with a number). */#define SP1 0 /* Separator before name expected. */#define AN1 2 /* Attribute name expected. */#define SP2 4 /* Separator or value indicator expected. */#define VI1 6 /* Value indicator expected. */#define AV1 8 /* Attribute value expected. */int pcbstan = AN1; /* PCBSTAG: attribute name expected. */static UNCH/* bit nmc num nms spc non ee eob rs com eti grpo lit lita dso dsc pero plus refc rni tagc tago vi */sp41 []={SP1 ,SP1 ,SP1 ,SP1 ,AN1 ,SP1 ,SP1 ,SP1 ,AN1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 , SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 },sp41a[]={INV_,LEN_,LEN_,LEN_,NOP_,SYS_,EOF_,GET_,RS_ ,LEN_,ETIC,INV_,INV_,INV_, INV_,DSC ,INV_,INV_,INV_,INV_,TAGC,TAGO,INV_},an41 []={SP1 ,SP1 ,SP1 ,SP2 ,AN1 ,AN1 ,AN1 ,AN1 ,AN1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 , SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 },an41a[]={INV_,NTV ,NTV ,NVS ,NOP_,SYS_,EOF_,GET_,RS_ ,NTV ,ETIC,INV_,INV_,INV_, INV_,DSC ,INV_,INV_,INV_,INV_,TAGC,TAGO,INV_},sp42 []={SP1 ,SP1 ,SP1 ,SP1 ,VI1 ,SP2 ,SP2 ,SP2 ,VI1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 , SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,AV1 },sp42a[]={INV_,LEN_,LEN_,LEN_,NOP_,SYS_,EOF_,GET_,RS_ ,LEN_,NASV,INV_,INV_,INV_, INV_,NASV,INV_,INV_,INV_,INV_,NASV,NASV,NOP_},/* bit nmc num nms spc non ee eob rs com eti grpo lit lita dso dsc pero plus refc rni tagc tago vi */vi41 []={SP1 ,AN1 ,AN1 ,AN1 ,VI1 ,VI1 ,VI1 ,VI1 ,VI1 ,AN1 ,SP1 ,SP1 ,SP1 ,SP1 , SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,AV1 },vi41a[]={INV_,NASV,NASV,NASV,NOP_,SYS_,EOF_,GET_,RS_ ,NASV,NASV,INV_,INV_,INV_, INV_,NASV,INV_,INV_,INV_,INV_,NASV,NASV,NOP_},av41 []={SP1 ,SP1 ,SP1 ,SP1 ,AV1 ,AV1 ,AV1 ,AV1 ,AV1 ,SP1 ,SP1 ,SP1 ,AN1 ,AN1 , SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 ,SP1 },av41a[]={INV_,AVU ,AVU ,AVU ,NOP_,SYS_,EOF_,GET_,RS_ ,AVU ,INV_,INV_,AVD ,AVDA, INV_,INV_,INV_,INV_,INV_,INV_,INV_,INV_,INV_},*stagtab[] = {sp41, sp41a, an41, an41a, sp42, sp42a, vi41, vi41a, av41, av41a};struct parse pcbstag = {"STAG", lexmark, stagtab, 0, 0, 0, 0};#undef SP1#undef AN1#undef SP2#undef VI1#undef AV1/* PCBETAG: State and action table for end-tag parse.*/#define TC1 0 /* Tag close expected (no attributes allowed). */static UNCH/* bit nmc nu nms spc non ee eob rs com eti grpo lit lita dso dsc pero plus refc rni tagc tago vi */tc41 []={TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 , TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 ,TC1 },/*tc1*/tc41a[]={INV_,INV_,INV_,INV_,NOP_,SYS_,EOF_,GET_,RS_ ,INV_,INV_,INV_,INV_,INV_, INV_,INV_,INV_,INV_,INV_,INV_,TAGC,TAGO,INV_},*etagtab[] = {tc41, tc41a};struct parse pcbetag = {"ETAG", lexmark, etagtab, 0, 0, 0, 0};#undef TC1/* PCBVAL: State and action table for tokenizing attribute values. Columns are based on lextoke (but EOB cannot occur).*//* Symbols for state names (end with a number). */#define TK1 0 /* Token expected. */#define SP1 2 /* Separator before token expected. */static UNCH/* inv rec sep sp nmc nms nu eob */tk51 []={TK1 ,TK1 ,TK1 ,TK1 ,SP1 ,SP1 ,SP1 },/*tk1*/tk51a[]={INVA,INVA,INVA,NOPA,NMTA,NASA,NUMA},sp51 []={TK1 ,TK1 ,TK1 ,TK1 ,TK1 ,TK1 ,TK1 },/*sp1*/sp51a[]={INVA,INVA,INVA,NOPA,LENA,LENA,LENA},*valtab[] = {tk51, tk51a, sp51, sp51a};struct parse pcbval = {"VAL", lextoke, valtab, 0, 0, 0, 0};#undef TK1#undef SP1/* PCBEAL: State and action table for end of attribute specification list. If delimiter occurs, process it. Otherwise, put invalid character back for the next parse.*//*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -