声明转文字: 编写程序将C语言的声明转换为文字描述
编写程序将C语言的声明转换为文字描述
比如, 输入char **argv,
会打印输出: argv: pointer to pointer to char
二. 程序源码
//main.c
#include
#include
#include
#define MAXTOKEN 100
enum {NAME, PARENS, BRACKETS};
int dcl(void);
int dirdcl(void);
int gettoken(void);
int tokentype;
char token[MAXTOKEN];
char name[MAXTOKEN];
char datatype[MAXTOKEN];
char out[1000];
int main(void)
{
}
//gettoken.c
#include
#include
#include
#define BUFSIZE 100
enum {NAME, PARENS, BRACKETS};
enum {NO, YES};
extern int tokentype;
extern char token[];
int prevtoken = NO;
int n_getch(void);
void n_ungetch(int);
int gettoken(void)
{
}
char buf[BUFSIZE];
int bufp = 0;
int n_getch(void)
{
}
void n_ungetch(int c)
{
}
//dcl.c
#include
#include
#include
enum {NAME, PARENS, BRACKETS};
enum {NO, YES};
int dcl(void);
int dirdcl(void);
void errmsg(char *);
int gettoken(void);
void parmdcl(void);
extern int tokentype;
extern char token[];
extern char name[];
extern char datatype[];
extern char out[];
extern int prevtoken;
//dcl: parse a declarator
int dcl(void)
{
}
//dirdcl: parse a direct declaration
int dirdcl(void)
{
}
//errmsg: print error message and indicate avail. token
void errmsg(char *msg)
{
}
//parmdcl.c
#include
#include
#include
#include
#define MAXTOKEN 100
enum {NAME, PARENS, BRACKETS};
enum {NO, YES};
void dcl(void);
void errmsg(char *);
void dclspec(void);
int typespec(void);
int typequal(void);
int compare(char **, char **);
int gettoken(void);
extern int tokentype;
extern char token[];
extern char name[];
extern char datatype[];
extern char out[];
extern int prevtoken;
void parmdcl(void)
{
}
void dclspec(void)
{
声明转文字编写程序C语言文字描 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
