当前位置: 技术问答>linux和unix
紧急求援!!! 关于脚本预编译的问题。(高分哦!)
来源: 互联网 发布时间:2014-12-05
本文导语: 我急需一个能把格式化脚本,翻译成标准C程序的软件(在 UNIX运行),最好有原码,谢谢了。 我手头有一个YACC-compatible,但是又没有说明文件,哪位高手能为小弟弄到,最好是中文的(不好意思,E文不好) ...
我急需一个能把格式化脚本,翻译成标准C程序的软件(在 UNIX运行),最好有原码,谢谢了。
我手头有一个YACC-compatible,但是又没有说明文件,哪位高手能为小弟弄到,最好是中文的(不好意思,E文不好)
我手头有一个YACC-compatible,但是又没有说明文件,哪位高手能为小弟弄到,最好是中文的(不好意思,E文不好)
|
不知道你的操作系统是什么,我的是sco openserver 5.05,安装了sco开发包后就有yacc了。我想linux应该也会有的。
至于yacc的名头我只是听说了,也没有深入学过。
手头有一段yacc程序 .y 的片断,不知道有没有帮助:
{
#define SQLTrace {if (SQLCODE) fprintf( stderr, "==== %s %d %ld ===n", __FIL
E__, __LINE__, SQLCODE ); }
#define EXTERN
#include "calc.h"
double floor();
%}
%union {double y_float; char *y_str; Symbol *y_sym;}
%start stmt
%token Fconstant,NOTEQ,EQEQ,GTEQUAL,LTEQ,OROR,ANDAND,XGT,XLT
%token Sconstant IDFUNC
%token ATOF,ATOI,STRNCP,SUBSTR,STRCMP ,I_STR,I_INT,DSFCALL
%token YYUP,YYDOWN,YYRIGHT,YYLEFT,YYHOME,YYESC,YYOK,YYQUIT,YYERR
%token STRNCMP,FLOOR,RETURN,FUNCEND ,INPUTFLAG
%token V_GRAPH,V_XY,O_STR,I_LONG,I_DEC ,I_CHR
%token I_DATE,I_DATE0,GET_RQ,DATETOSTR,SHORT3TODATE
%left ',' EQUAL
%right '='
%left OROR
%left ANDAND
%left '|'
%left '^'
%left '&'
%left EQEQ NOTEQ GTEQ LTEQ XGT XLT
%left '+' '-'
%left '*' '/' '%'
%right '!' '~'
%left '[' '('
%left '.'
%type express,expr,lval,Idents,functs ,Incctv,Outcctv
%type select,for_up,/*whrs,*/ orders,andwhere
%%
sql :DATABASE Identifier
{
strcpy( SQLstatement, $2->s_name );
EXEC SQL database :SQLstatement;
SQLTrace
xcstype=0;
sqlnum=0;
}
|CLOSE DATABASE
{
EXEC SQL close database;
SQLTrace
}
;
至于yacc的名头我只是听说了,也没有深入学过。
手头有一段yacc程序 .y 的片断,不知道有没有帮助:
{
#define SQLTrace {if (SQLCODE) fprintf( stderr, "==== %s %d %ld ===n", __FIL
E__, __LINE__, SQLCODE ); }
#define EXTERN
#include "calc.h"
double floor();
%}
%union {double y_float; char *y_str; Symbol *y_sym;}
%start stmt
%token Fconstant,NOTEQ,EQEQ,GTEQUAL,LTEQ,OROR,ANDAND,XGT,XLT
%token Sconstant IDFUNC
%token ATOF,ATOI,STRNCP,SUBSTR,STRCMP ,I_STR,I_INT,DSFCALL
%token YYUP,YYDOWN,YYRIGHT,YYLEFT,YYHOME,YYESC,YYOK,YYQUIT,YYERR
%token STRNCMP,FLOOR,RETURN,FUNCEND ,INPUTFLAG
%token V_GRAPH,V_XY,O_STR,I_LONG,I_DEC ,I_CHR
%token I_DATE,I_DATE0,GET_RQ,DATETOSTR,SHORT3TODATE
%left ',' EQUAL
%right '='
%left OROR
%left ANDAND
%left '|'
%left '^'
%left '&'
%left EQEQ NOTEQ GTEQ LTEQ XGT XLT
%left '+' '-'
%left '*' '/' '%'
%right '!' '~'
%left '[' '('
%left '.'
%type express,expr,lval,Idents,functs ,Incctv,Outcctv
%type select,for_up,/*whrs,*/ orders,andwhere
%%
sql :DATABASE Identifier
{
strcpy( SQLstatement, $2->s_name );
EXEC SQL database :SQLstatement;
SQLTrace
xcstype=0;
sqlnum=0;
}
|CLOSE DATABASE
{
EXEC SQL close database;
SQLTrace
}
;
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。