leetcode 18 java编译器设计5月18日。递归下降解析LL(k)文法从我这里拉。

cd ~/COMP603-2015

git pull upstream master

Windows

start responses/may-18.txt

Mac

open -e responses/may-18.txt

在您的本地存储库中打开responses/may-18.txt。修改文件以回答问题。

git commit -am \"I got this.\"

git push origin master

第一组和跟随组:

  • 第一套:可以在非终结符的任何派生中首先出现的终结符集。

  • 跟随集:在推导非终结符后可以首先出现的终结符集。

LL(k)文法:

  • LL(k)表示从左到右解析,最左推导,最多有k个前瞻标记。

  • LL(k)文法是上下文无关文法的一个子集。

  • 对于LL(k)的文法,每个非终结符的first和follow集合必须不相交。

  • 不允许左递归。

  • 右侧不允许有公共前缀。

LL(k)文法可以使用“递归下降”进行解析,递归下降解析也称为自顶向下解析。