我想先说这是我的家庭作业,我正在寻找一些帮助。我认为使用Recursive Descent Parsing和堆栈java代码可以解决这个问题,但我不知道如何比较这些语言。问题是:
让L1和L2成为LL(1)语法G1和语言接受的两种语言 G2,分别。 - 编写解析算法,解析形式ss'ts的字符串“where s,s',s“属于L1,t属于L2。
stack 1.push (StartSymbol)
LA1=input.nextToken ()
repeat
X1=stack1. Pop ()
if X1 ε T1 then
if X1= LA1 then
Stack1.pop ()
LA1=input.nextToken (),
else
error ()
end if
else
if M [X1.LA] = X1-> Y1 …. Yn then
stack1.pop()
push Yn …… Y1 on to stack, with Y1 on top
add X-> Y1…. Yn to parse tree
else
error ()
end if
end if
until LA = EOF