?? main.c
字號:
#include <stdio.h>
#define BUFFERLEN 3
typedef struct {
char *lexeme_beginning;
char *forward;
} CURSOR;
char BUFFER[2][BUFFERLEN+1];
int main(int argc,char* argv[])
{
CURSOR cursor;
int nread;
FILE *pfil= fopen(argv[1],"r");
BUFFER[0][BUFFERLEN]=EOF;
BUFFER[1][BUFFERLEN]=EOF;
cursor.lexeme_beginning=&BUFFER[0][0];
cursor.forward=&BUFFER[0][0];
if(pfil) {
nread=fread(&BUFFER[0][0],sizeof(char),BUFFERLEN,pfil);
while(1) {
if(*cursor.forward==EOF)return 0; //詞法分析器的位置
cursor.forward += 1;
if(*cursor.forward==EOF) {
if(cursor.forward==&BUFFER[0][BUFFERLEN]) {
nread=fread(&BUFFER[1][0],sizeof(char),BUFFERLEN,pfil);
if(nread<BUFFERLEN)BUFFER[1][nread]=EOF; // 碰巧
cursor.forward += 1;
}
else if(cursor.forward==&BUFFER[1][BUFFERLEN]) {
nread=fread(&BUFFER[0][0],sizeof(char),BUFFERLEN,pfil);
if(nread<BUFFERLEN)BUFFER[0][nread]=EOF; // 碰巧
cursor.forward = &BUFFER[0][0];
}
else
; // 什么也不做,讓詞法分析器接收到EOF詞素
}
}
}
fclose(pfil);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -