词法分析中的贪心

C语言对多字符识别时,采用贪心,使用规则如下:

每一个符号应该包含更多的字符。

也就是说,编译器将程序分解成符号的方法是,从左到右一个字符一个字符地读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否有可能是一个符号的组成部分;如果可能,继续读入下一个字符,重复上述判断,直到读入的字符组成的字符串以不再可能组成一个有意义的符号。这个处理策略有事被称为“贪心法”。一句话表述成“如果编译器的输入流截止至某个字符之前都已经被分解为一个个符号,那么下一个符号将包括从该字符之后可能组成一个符号的最长字符串。”


有以下两段代码:

    int a = 0;
    int b = 10;
    cout<< a- --b<<endl;

输出为:-9


    int a = 0;
    int b = 10;
    cout<< a-- -b<<endl;

输出为:-10

你可能感兴趣的:(词法分析中的贪心)