Anda di halaman 1dari 2

1.- Cul ser la gramtica para una funcin?

<f>::=<tipo><nomfuncion><pa><parametros><pc><ca><sentencias ><cc>
<nomfuncion>::=[A-Za-z]
<sentencias>::=<asignacin|condicional>
<asignacin>::=<variable>=<expresin>
<condicional>::=if<condicin>then<sentencias>else<sentencias>
<variable>::=[A-Za-z] [A-Za-z0-9]*
<pa>::=(
<pc>::=)
<lla>::={
<llc>::=}
pa-pc= parenthesis abierto y cerrado.
lla-llc= llave abierto y cerrado.

2. - Gramtica para consultas sql


select * from tabla1
select a from tabla1
select a,b from tabla2
select a,b,c from Tab1 where a=valor
select * from Tab1 where a=valor1 and b=valor2
<sql>::=select<ast>from<tabla1>
<sql>::=select<a>from<tabla1>
<sql>::=select<a><b>from<tabla2>
<sql>::=select<a><b><c>from<tab1>where<a>=<valor>
<sql>::=select<ast>from<tab1>where<a>=<valor1>and<b>=<valor2>
<tabla1>::=[a-z]
<tabla2>::=[a-z]
<tab1>::=[a-z]
<a>::=<valor>|<valor1>
<b>::=<valor2>
<valor>::=[A-Za-z0-9]
<valor1>::=[A-Za-z0-9]
<valor2>::=[A-Za-z0-9]
<ast>::=*

3. - Gramtica para prolog


3.1. - Determina si lo que recibe es una lista
lista([]):-!.
lista([X|Y]):-lista(Y).} que reconozca AND y OR
<prolog>::=<lista><pa><ca><cc><pc>:-!.
<prolog>::=<lista><pa><ca><X|Y><cc><pc>:-<lista><pa><Y><pc>.
<lista>::=<lista>+<digito>
<lista>::=<lista>-<digito>
<lista>::=<digito>
<digito>::=0|1|2|3|4|5|6|7|8|9

pa-pc= parenthesis abierto y cerrado.


ca-cc= corchete abierto y cerrado.

Anda mungkin juga menyukai