用C创建一个词法分析器

时间:2013-08-23 06:25:35

标签: c parsing lexical-analysis

我正在尝试用C创建一个词法分析器。 程序读取另一个程序作为输入,将其转换为标记,源代码在这里 -

#include <stdio.h>
#include <conio.h>
#include <string.h>

int main()  {
    FILE *fp;
    char read[50];
    char seprators [] = "\n";
    char *p;
    fp=fopen("C:\\Sum.c", "r");

    clrscr();

    while ( fgets(read, sizeof(read)-1, fp) !=NULL )    {
        //Get the first token
        p=strtok(read, seprators);

        //Get and print other tokens
        while (p!=NULL) {
            printf("%s\n", p);
            p=strtok(NULL, seprators);
        }
    }

    return 0;
}

Sum.c的内容是 -

#include <stdio.h>

int main()  {
    int x;
    int y;
    int sum;

    printf("Enter two numbers\n");
    scanf("%d%d", &x, &y);

    sum=x+y;

    printf("The sum of these numbers is %d", sum);

    return 0;
}

我没有得到正确的输出,只看到一个空白的屏幕代替输出。

任何人都可以告诉我哪里出错了? 非常感谢你提前..

0 个答案:

没有答案