Ниже приведена моя грамматика, и она не работает для последнего производства (NUM). Может ли кто-нибудь помочь мне в этом?Предложение, которое я хочу разобрать, было «показать ученикам с номером 524»
S[SEM=?sp] -> SP[SEM=?sp]
SP[SEM=(?v + ?n )] -> V[SEM=?v] N[SEM=?n]
SP[SEM=(?v + ?n + ?p + ?a + ?eq + ?num)] -> V[SEM=?v] N[SEM=?n] P[SEM=?p]
A[SEM=?a] EQ[SEM=?eq] NUM[SEM=?num]
N[SEM='* FROM students'] -> 'students' | 'student'
V[SEM='SELECT'] -> 'list' | 'show' | 'display'
P[SEM='WHERE'] -> 'with' | 'having'
A[SEM='id'] -> 'id' |'number'
EQ[SEM='='] -> 'as'|'equal to'
NUM[SEM=INT] -> INT