2012-05-30 2 views
1

Существует 4 лексических элементы грамматикилексических элементы грамматики

G = (S, N, T, P) 

Где G = Грамматика S = начальный символ, N = нетерминалы, T = Клемма, P = продукционные правила

I хотел бы знать, если N всегда равна с P, потому что, как я знаю, P являются лексемы, которые могут заменить с другими лексемами

Таким образом, в этом примере:

<program> --> <stmts> 
<stmts> --> <stmt> | <stmt> ; <stmts> 
<stmt> --> <var> = <expr> 
<var> --> a | b | c | d 
<expr> --> <term> + <term> | <term> - <term> 
<term> --> <var> | const 

S: <program> 
N: <program>, <stmts>, <var>, <expr>, <term> 
T: ;, a, b, c, d, +, -, const 
P: <program>, <stmts>, <var>, <expr>, <term> 

Правильно ли это?

ответ

2

No. | N | не обязательно = | P |. Рассмотрите:

<program> --> <stmts> 
<stmts> --> <stmt> 
<stmts> -->| <stmt> ; <stmts> 
<stmt> --> <var> = <expr> 
<var> --> a 
<var> --> b 
<var> --> c 
<var> --> d 
<expr> --> <term> + <term> 
<expr> --> <term> - <term> 
<term> --> <var> 
<term> --> const 

Ваша проблема в том, что вы не точно знаете, что допускается в правиле грамматики.

сила количество правил, которые должны соответствовать нетерминалам, настаивая на том, что правило не имеет той же левой стороны. Для этого вы не можете настаивать на простой BNF; вы должны иметь расширенный BNF с по меньшей мере чередованием.

PS: Это не касается «лексических элементов» грамматики. Речь идет только об определении грамматики.

+0

Большое спасибо за вашу помощь, я вспомнил кое-что ... Итак, P 12, верно? – a1204773

+1

Для грамматики, как я уже сказал, P == 12 и N == 6 –

2

Звучит как домашнее задание ... У вас это в основном в порядке, только P - это настоящие правила.

G = (S, N, T, P) 

S: <program> 
N: <program>, <stmts>, <var>, <expr>, <term> 
T: ;, a, b, c, d, +, -, const 
P: <program> --> <stmts>, 
    <stmts> --> <stmt> | <stmt> ; <stmts>, 
    <stmt> --> <var> = <expr>, 
    <var> --> a | b | c | d, 
    <expr> --> <term> + <term> | <term> - <term>, 
    <term> --> <var> | const 

Без правил грамматика бесполезна.

Смежные вопросы