1 #ifndef _DYLIB_BNFRDR_H 2 #define _DYLIB_BNFRDR_H 206 #define bnfstore 1<<1 207 #define bnfatsgn 1<<2 213 #define bnfexact 1<<8 214 #define bnfdebug 1<<9 225 # define addrToInt(zz_addr_zz) \ 226 ((int) (((char *)(zz_addr_zz)) - ((char *)(0)))) 263 #define bnfdef_common bnftype_enum type ; \ 459 #define bnfref_common bnftype_enum type ; \ 461 bnfdef_struct *defn ; \ 523 struct bnfref_type1 *
t1 ;
550 #define NULLP (*((char *) 0)) 551 #define mksav(qqoff) (*((char *) qqoff)) 552 #define mkoff(qqtype,qqfield) (&((qqtype *) 0)->qqfield) 569 #define althd(qqnme) bnfref_struct **qqnme[] 570 #define altcnt(qqcnt) (bnfref_struct **) (qqcnt) 571 #define mkaref(qqref) (bnfref_struct **) (qqref) 573 #define comphd(qqnme) bnfref_struct *qqnme[] 574 #define compcnt(qqcnt) (bnfref_struct *) (qqcnt) 575 #define mkcref(qqref) (bnfref_struct *) (&qqref) 585 #define gdef(qqnme,qqsze,qqlnk,qqcomps) \ 586 bnfGdef_struct qqnme = { bnfG, #qqnme, (int) (qqsze), (int) (qqlnk), \ 587 (bnfref_struct **) qqcomps } 589 #define npdef(qqnme,qqalts) \ 590 bnfNPdef_struct qqnme = { bnfNP, #qqnme, (bnfref_struct ***) qqalts } 592 #define pdef(qqnme,qqalts) \ 593 bnfPdef_struct qqnme = { bnfP, #qqnme, (bnfref_struct ***) qqalts } 595 #define tdef(qqnme,qqttype,qqparm,qqval) \ 596 bnfTdef_struct qqnme = { bnfT, #qqnme, qqttype, '\0', '\0', \ 597 (int) (qqparm), (const char *) (qqval) } 599 #define tqdef(qqnme,qqschr,qqechr,qqval) \ 600 bnfTdef_struct qqnme = { bnfT, #qqnme, bnfttQ, (char) qqschr, (char) qqechr,\ 601 0, (char *) (qqval) } 603 #define dfdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqndcd,qqnd,qqsavnd,qqoff) \ 604 bnfLBdef_struct qqnme = { bnfDS, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 605 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 606 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 609 #define dbdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqndcd,qqnd,qqsavnd,qqoff) \ 610 bnfLBdef_struct qqnme = { bnfDL, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 611 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 612 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 615 #define rfdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqoff,qqndcd,qqnd,qqsavnd,qqoff2) \ 616 bnfLBdef_struct qqnme = { bnfRS, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 617 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 618 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 619 (int) (qqoff), (int) (qqoff2) } 621 #define rbdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqoff,qqndcd,qqnd,qqsavnd,qqoff2) \ 622 bnfLBdef_struct qqnme = { bnfRL, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 623 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 624 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 625 (int) (qqoff), (int) (qqoff2) } 627 #define idef(qqnme,qqval) \ 628 bnfIdef_struct qqnme = { bnfI, #qqnme, (int) (qqval) } 630 #define ldef(qqnme,qqdflgs,qqtxt) \ 631 bnfLdef_struct qqnme = { bnfL, #qqnme, (flags) (qqdflgs), (char *) (qqtxt) } 635 #define gref(qqnme,qqref,qquflgs,qqoff,qqsep) \ 636 bnfGref_struct qqnme = { bnfG, #qqnme, (bnfdef_struct *) &qqref, \ 637 (flags) (qquflgs), (int) (qqoff), \ 638 (bnfref_struct *) &qqsep } 640 #define npref(qqnme,qqref,qquflgs,qqsep) \ 641 bnfNPref_struct qqnme = { bnfNP, #qqnme, (bnfdef_struct *) &qqref, \ 642 (flags) (qquflgs), (int) 0, (bnfref_struct *) &qqsep } 644 #define pref(qqnme,qqref,qquflgs,qqoff,qqsep) \ 645 bnfPref_struct qqnme = { bnfP, #qqnme, (bnfdef_struct *) &qqref, \ 646 (flags) (qquflgs), (int) (qqoff), \ 647 (bnfref_struct *) &qqsep } 649 #define tref(qqnme,qqref,qquflgs,qqoff) \ 650 bnfTref_struct qqnme = { bnfT, #qqnme, (bnfdef_struct *) &qqref, \ 651 (flags) qquflgs, (int) qqoff } 653 #define dfref(qqnme,qqref) \ 654 bnfLBref_struct qqnme = { bnfDS, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 656 #define dbref(qqnme,qqref) \ 657 bnfLBref_struct qqnme = { bnfDL, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 659 #define rfref(qqnme,qqref) \ 660 bnfLBref_struct qqnme = { bnfRS, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 662 #define rbref(qqnme,qqref) \ 663 bnfLBref_struct qqnme = { bnfRL, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 665 #define iref(qqnme,qqref,qqoff) \ 666 bnfIref_struct qqnme = { bnfI, #qqnme, (bnfdef_struct *) &qqref, \ 667 (flags) 0, (int) qqoff } 669 #define lref(qqnme,qqref) \ 670 bnfLref_struct qqnme = { bnfL, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 680 #define dfrefdbg(qqnme,qqref) \ 681 bnfLBref_struct qqnme = { bnfDS, #qqnme, (bnfdef_struct *) &qqref, \ 684 #define dbrefdbg(qqnme,qqref) \ 685 bnfLBref_struct qqnme = { bnfDL, #qqnme, (bnfdef_struct *) &qqref, \ 688 #define rfrefdbg(qqnme,qqref) \ 689 bnfLBref_struct qqnme = { bnfRS, #qqnme, (bnfdef_struct *) &qqref, \ 692 #define rbrefdbg(qqnme,qqref) \ 693 bnfLBref_struct qqnme = { bnfRL, #qqnme, (bnfdef_struct *) &qqref, \ 696 #define lrefdbg(qqnme,qqref) \ 697 bnfLref_struct qqnme = { bnfL, #qqnme, (bnfdef_struct *) &qqref, \ 711 typedef union {
void *
g ;
723 extern void bnfdbgctl(
ioid dbgchn,
bool dbgecho,
bool warnzlbl,
bool numlvl,
726 #define bnfdbgctl(dgbchn,dbgecho,warnzlbl,numlvl,tablvl)
struct bnfref_struct_tag bnfref_struct
struct bnfref_struct_tag ** comps
void prtbnfref(ioid chn, bool echo, bnfref_struct *ref)
struct bnfref_struct_tag * ndsrc
bnfref_struct bnfLref_struct
bnfdef_common flags dflgs
bnfdef_common struct bnfref_struct_tag *** alts
void bnfdbgctl(ioid dbgchn, bool dbgecho, bool warnzlbl, bool numlvl, bool tablvl)
bnfdef_common flags dflgs
struct bnfref_struct_tag * nmsrc
bnfref_struct bnfLBref_struct
bnfNPdef_struct bnfPdef_struct
bool parse(ioid chn, struct bnfref_type3 *bnfid, parse_any *result)
bnfdef_common bnfttype_enum ttype
void prtbnfdef(ioid chn, bool echo, bnfdef_struct *def)