Lines Matching refs:lem

1666   struct lemon lem;  in main()  local
1679 memset(&lem, 0, sizeof(lem)); in main()
1680 lem.errorcnt = 0; in main()
1686 lem.argv0 = argv[0]; in main()
1687 lem.filename = OptArg(0); in main()
1688 lem.basisflag = basisflag; in main()
1689 lem.nolinenosflag = nolinenosflag; in main()
1690 lem.printPreprocessed = printPP; in main()
1694 Parse(&lem); in main()
1695 if( lem.printPreprocessed || lem.errorcnt ) exit(lem.errorcnt); in main()
1696 if( lem.nrule==0 ){ in main()
1700 lem.errsym = Symbol_find("error"); in main()
1704 lem.nsymbol = Symbol_count(); in main()
1705 lem.symbols = Symbol_arrayof(); in main()
1706 for(i=0; i<lem.nsymbol; i++) lem.symbols[i]->index = i; in main()
1707 qsort(lem.symbols,lem.nsymbol,sizeof(struct symbol*), Symbolcmpp); in main()
1708 for(i=0; i<lem.nsymbol; i++) lem.symbols[i]->index = i; in main()
1709 while( lem.symbols[i-1]->type==MULTITERMINAL ){ i--; } in main()
1710 assert( strcmp(lem.symbols[i-1]->name,"{default}")==0 ); in main()
1711 lem.nsymbol = i - 1; in main()
1712 for(i=1; ISUPPER(lem.symbols[i]->name[0]); i++); in main()
1713 lem.nterminal = i; in main()
1719 for(i=0, rp=lem.rule; rp; rp=rp->next){ in main()
1722 lem.nruleWithAction = i; in main()
1723 for(rp=lem.rule; rp; rp=rp->next){ in main()
1726 lem.startRule = lem.rule; in main()
1727 lem.rule = Rule_sort(lem.rule); in main()
1731 Reprint(&lem); in main()
1734 SetSize(lem.nterminal+1); in main()
1737 FindRulePrecedences(&lem); in main()
1741 FindFirstSets(&lem); in main()
1745 lem.nstate = 0; in main()
1746 FindStates(&lem); in main()
1747 lem.sorted = State_arrayof(); in main()
1750 FindLinks(&lem); in main()
1753 FindFollowSets(&lem); in main()
1756 FindActions(&lem); in main()
1759 if( compress==0 ) CompressTables(&lem); in main()
1764 if( noResort==0 ) ResortStates(&lem); in main()
1767 if( !quiet ) ReportOutput(&lem); in main()
1770 ReportTable(&lem, mhflag, sqlFlag); in main()
1775 if( !mhflag ) ReportHeader(&lem); in main()
1779 stats_line("terminal symbols", lem.nterminal); in main()
1780 stats_line("non-terminal symbols", lem.nsymbol - lem.nterminal); in main()
1781 stats_line("total symbols", lem.nsymbol); in main()
1782 stats_line("rules", lem.nrule); in main()
1783 stats_line("states", lem.nxstate); in main()
1784 stats_line("conflicts", lem.nconflict); in main()
1785 stats_line("action table entries", lem.nactiontab); in main()
1786 stats_line("lookahead table entries", lem.nlookaheadtab); in main()
1787 stats_line("total table size (bytes)", lem.tablesize); in main()
1789 if( lem.nconflict > 0 ){ in main()
1790 fprintf(stderr,"%d parsing conflicts.\n",lem.nconflict); in main()
1794 exitcode = ((lem.errorcnt > 0) || (lem.nconflict > 0)) ? 1 : 0; in main()