⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lburg

📁 c语言编译器
💻
字号:
#ifndef BURG_INCLUDED#define BURG_INCLUDED/* $Id: lburg.h,v 2.1 1994/11/30 21:53:18 drh Exp $ *//* iburg.c: */extern void *alloc(int nbytes);typedef enum { TERM=1, NONTERM } Kind;typedef struct rule *Rule;typedef struct term *Term;struct term {		/* terminals: */	char *name;		/* terminal name */	Kind kind;		/* TERM */	int esn;		/* external symbol number */	int arity;		/* operator arity */	Term link;		/* next terminal in esn order */	Rule rules;		/* rules whose pattern starts with term */};typedef struct nonterm *Nonterm;struct nonterm {	/* nonterminals: */	char *name;		/* nonterminal name */	Kind kind;		/* NONTERM */	int number;		/* identifying number */	int lhscount;		/* # times nt appears in a rule lhs */	int reached;		/* 1 iff reached from start nonterminal */	Rule rules;		/* rules w/nonterminal on lhs */	Rule chain;		/* chain rules w/nonterminal on rhs */	Nonterm link;		/* next terminal in number order */};extern Nonterm nonterm(char *id);extern Term term(char *id, int esn);typedef struct tree *Tree;struct tree {		/* tree patterns: */	void *op;		/* a terminal or nonterminal */	Tree left, right;	/* operands */	int nterms;		/* number of terminal nodes in this tree */};extern Tree tree(char *op, Tree left, Tree right);struct rule {		/* rules: */	Nonterm lhs;		/* lefthand side nonterminal */	Tree pattern;		/* rule pattern */	int ern;		/* external rule number */	int packed;		/* packed external rule number */	int cost;		/* cost, if a constant */	char *code;		/* cost, if an expression */	char *template;		/* assembler template */	Rule link;		/* next rule in ern order */	Rule next;		/* next rule with same pattern root */	Rule chain;		/* next chain rule with same rhs */	Rule decode;		/* next rule with same lhs */	Rule kids;		/* next rule with same _kids pattern */};extern Rule rule(char *id, Tree pattern, char *template, char *code);/* gram.y: */void yyerror(char *fmt, ...);int yyparse(void);void yywarn(char *fmt, ...);extern int errcnt;extern FILE *infp;extern FILE *outfp;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -