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 ;
557 #define NULLP (*((char *) 0)) 558 #define mksav(qqoff) (*((char *) qqoff)) 559 #define mkoff(qqtype,qqfield) ((size_t) (&((qqtype *) 0)->qqfield)) 576 #define althd(qqnme) bnfref_struct **qqnme[] 577 #define altcnt(qqcnt) (bnfref_struct **) (qqcnt) 578 #define mkaref(qqref) (bnfref_struct **) (qqref) 580 #define comphd(qqnme) bnfref_struct *qqnme[] 581 #define compcnt(qqcnt) (bnfref_struct *) (qqcnt) 582 #define mkcref(qqref) (bnfref_struct *) (&qqref) 592 #define gdef(qqnme,qqsze,qqlnk,qqcomps) \ 593 bnfGdef_struct qqnme = { bnfG, #qqnme, (int) (qqsze), (int) (qqlnk), \ 594 (bnfref_struct **) qqcomps } 596 #define npdef(qqnme,qqalts) \ 597 bnfNPdef_struct qqnme = { bnfNP, #qqnme, (bnfref_struct ***) qqalts } 599 #define pdef(qqnme,qqalts) \ 600 bnfPdef_struct qqnme = { bnfP, #qqnme, (bnfref_struct ***) qqalts } 602 #define tdef(qqnme,qqttype,qqparm,qqval) \ 603 bnfTdef_struct qqnme = { bnfT, #qqnme, qqttype, '\0', '\0', \ 604 (int) (qqparm), (const char *) (qqval) } 606 #define tqdef(qqnme,qqschr,qqechr,qqval) \ 607 bnfTdef_struct qqnme = { bnfT, #qqnme, bnfttQ, (char) qqschr, (char) qqechr,\ 608 0, (char *) (qqval) } 610 #define dfdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqndcd,qqnd,qqsavnd,qqoff) \ 611 bnfLBdef_struct qqnme = { bnfDS, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 612 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 613 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 616 #define dbdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqndcd,qqnd,qqsavnd,qqoff) \ 617 bnfLBdef_struct qqnme = { bnfDL, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 618 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 619 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 622 #define rfdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqoff,qqndcd,qqnd,qqsavnd,qqoff2) \ 623 bnfLBdef_struct qqnme = { bnfRS, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 624 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 625 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 626 (int) (qqoff), (int) (qqoff2) } 628 #define rbdef(qqnme,qqdflgs,qqnmcd,qqnm,qqsavnm,qqoff,qqndcd,qqnd,qqsavnd,qqoff2) \ 629 bnfLBdef_struct qqnme = { bnfRL, #qqnme, (flags) (qqdflgs), qqnmcd, qqndcd, \ 630 (int) (qqsavnm), (bnfref_struct *) &qqnm, \ 631 (int) (qqsavnd), (bnfref_struct *) &qqnd, \ 632 (int) (qqoff), (int) (qqoff2) } 634 #define idef(qqnme,qqval) \ 635 bnfIdef_struct qqnme = { bnfI, #qqnme, (int) (qqval) } 637 #define ldef(qqnme,qqdflgs,qqtxt) \ 638 bnfLdef_struct qqnme = { bnfL, #qqnme, (flags) (qqdflgs), (char *) (qqtxt) } 642 #define gref(qqnme,qqref,qquflgs,qqoff,qqsep) \ 643 bnfGref_struct qqnme = { bnfG, #qqnme, (bnfdef_struct *) &qqref, \ 644 (flags) (qquflgs), (int) (qqoff), \ 645 (bnfref_struct *) &qqsep } 647 #define npref(qqnme,qqref,qquflgs,qqsep) \ 648 bnfNPref_struct qqnme = { bnfNP, #qqnme, (bnfdef_struct *) &qqref, \ 649 (flags) (qquflgs), (int) 0, (bnfref_struct *) &qqsep } 651 #define pref(qqnme,qqref,qquflgs,qqoff,qqsep) \ 652 bnfPref_struct qqnme = { bnfP, #qqnme, (bnfdef_struct *) &qqref, \ 653 (flags) (qquflgs), (int) (qqoff), \ 654 (bnfref_struct *) &qqsep } 656 #define tref(qqnme,qqref,qquflgs,qqoff) \ 657 bnfTref_struct qqnme = { bnfT, #qqnme, (bnfdef_struct *) &qqref, \ 658 (flags) qquflgs, (int) qqoff } 660 #define dfref(qqnme,qqref) \ 661 bnfLBref_struct qqnme = { bnfDS, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 663 #define dbref(qqnme,qqref) \ 664 bnfLBref_struct qqnme = { bnfDL, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 666 #define rfref(qqnme,qqref) \ 667 bnfLBref_struct qqnme = { bnfRS, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 669 #define rbref(qqnme,qqref) \ 670 bnfLBref_struct qqnme = { bnfRL, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 672 #define iref(qqnme,qqref,qqoff) \ 673 bnfIref_struct qqnme = { bnfI, #qqnme, (bnfdef_struct *) &qqref, \ 674 (flags) 0, (int) qqoff } 676 #define lref(qqnme,qqref) \ 677 bnfLref_struct qqnme = { bnfL, #qqnme, (bnfdef_struct *) &qqref, (flags) 0 } 687 #define dfrefdbg(qqnme,qqref) \ 688 bnfLBref_struct qqnme = { bnfDS, #qqnme, (bnfdef_struct *) &qqref, \ 691 #define dbrefdbg(qqnme,qqref) \ 692 bnfLBref_struct qqnme = { bnfDL, #qqnme, (bnfdef_struct *) &qqref, \ 695 #define rfrefdbg(qqnme,qqref) \ 696 bnfLBref_struct qqnme = { bnfRS, #qqnme, (bnfdef_struct *) &qqref, \ 699 #define rbrefdbg(qqnme,qqref) \ 700 bnfLBref_struct qqnme = { bnfRL, #qqnme, (bnfdef_struct *) &qqref, \ 703 #define lrefdbg(qqnme,qqref) \ 704 bnfLref_struct qqnme = { bnfL, #qqnme, (bnfdef_struct *) &qqref, \ 718 typedef union {
void *
g ;
730 extern void bnfdbgctl(
ioid dbgchn,
bool dbgecho,
bool warnzlbl,
bool numlvl,
733 #define bnfdbgctl(dgbchn,dbgecho,warnzlbl,numlvl,tablvl)
struct bnfref_struct_tag bnfref_struct
void prtbnfref(ioid chn, bool echo, bnfref_struct *ref)
bnfref_struct bnfLref_struct
struct bnfref_struct_tag * nmsrc
bnfdef_common flags dflgs
struct bnfref_struct_tag * ndsrc
struct bnfref_struct_tag ** comps
void bnfdbgctl(ioid dbgchn, bool dbgecho, bool warnzlbl, bool numlvl, bool tablvl)
bnfdef_common flags dflgs
bnfref_struct bnfLBref_struct
bnfdef_common struct bnfref_struct_tag *** alts
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)