Курсовая работа: Конвертер программы с подмножества языка Си в Паскаль с использованием LL1 метода синтаксическог
B-B!=B C-M
B-B==B C-C*M
B-B&&B C-C/M
B-B||B C-C div M
B-B?B:B C-C mod M
B-i=B C-C and M
B-i*=B M-i
B-i/=B M-i(S)
B-i%=B M-(B)
B-i+=B S-B
B-i-=B S-B, S
B-i
B-i(S)
B-(B)
S- B
S-B, S
N(C\C++)={B, П, S}
T(C\C++)={i, ++, --, +, -, ==, !=, <, >, <=, >=, *=, -=, +=, /=, %=, =, *, /, %, (, ), ?, :, ,, &&, ||}
N(TP)={B, П, C, M, S}
T(TP)={ i, +, -, =, <>, <, >, <=, >=, *, /, div, mod, and, or, (, ), ,}
Устранив цепные правила, левую рекурсию, получим LL(1)-грамматику.
C\C++
B-i B1
B1-= BB’
B1-*=BB’
B1-+=BB’
B1--BB’
B1-/BB’
B1---B’