Sie sind auf Seite 1von 5

Gramática propuesta para direcciones de correo

Texto  Dirección Texto | Nombre Dirección Texto | Basura Texto | 


Dirección  Usuario@Dominio | <Usuario@Dominio> |
“Usuario@Dominio”
Usuario  Letra Complemento | _ Complemento
Complemento  Letra Complemento | Número Complemento | _
Complemento | - Complemento | . Complemento | 
Dominio  SubDominio NombreDom TLDPaís
SubDominio  NombreDom . SubDominio | 
NombreDom  Letra ComplementoDom Letra | Letra
ComplementoDom  Letra ComplementoDom | Número
ComplementoDom | _ ComplementoDom | - ComplementoDom | 
TLDPaís  . TLD . País | . TLD
TLD  com | net | org | info | edu | gov | mil | name | gob |
Letra Letra
País  Letra Letra
Nombre  Nombres Apellidos | Apellidos , Nombres
Nombres  3Palabras | 2Palabras | Palabra
Apellidos  4Palabras | 3Palabras | 2Palabras | Palabra | 
2Palabras  Palabra Palabra
3Palabras  Palabra 2Palabras
4Palabras  Palabra 3Palabras
5Palabras  Palabra 4Palabras
Basura  Letra Basura | Número Basura | Especial | Separador
Reglas Semánticas
Texto  Dirección Texto | Nombre Dirección Texto | Basura Texto | 
Texto.t = “Sin nombre” & Tabulador & Dirección.t & NL & Texto.t
Texto.t = Nombre.t & Tabulador & Dirección.t & NL & Texto.t
Texto.t = Texto.t
Texto.t = “”

Dirección  Usuario@Dominio | <Usuario@Dominio> |


“Usuario@Dominio”
Dirección.t = Usuario.t & “@” & Dominio.t
Dirección.t = Usuario.t & “@” & Dominio.t
Dirección.t = Usuario.t & “@” & Dominio.t

Usuario  Letra Complemento | _ Complemento


Usuario.t = Letra.Lexema & Complemento.t
Usuario.t = “_” & Complemento.t

Complemento  Letra Complemento | Número Complemento | _


Complemento | - Complemento | . Complemento | 
Complemento.t = Letra.Lexema & Complemento.t
Complemento.t = Número.Lexema & Complemento.t
Complemento.t = “_” & Complemento.t
Complemento.t = “-” & Complemento.t
Complemento.t = “.” & Complemento.t
Complemento.t = “”

Dominio  SubDominio NombreDom TLDPaís


Dominio.t = SubDominio.t & NombreDom.t & TLDPaís.t

SubDominio  NombreDom . SubDominio | 


SubDominio.t = NombreDom.t & “.” & SubDominio.t
SubDominio.t = “”

NombreDom  Letra ComplementoDom Letra | Letra


NombreDom.t = Letra.Lexema & ComplementoDom.t & Letra.Lexema
NombreDom.t = Letra.Lexema
ComplementoDom  Letra ComplementoDom | Número
ComplementoDom | _ ComplementoDom | - ComplementoDom | 
ComplementoDom.t = Letra.Lexema & ComplementoDom.t
ComplementoDom.t = Número.Lexema & ComplementoDom.t
ComplementoDom.t = “_” & ComplementoDom.t
ComplementoDom.t = “-” & ComplementoDom.t
ComplementoDom.t = “”

TLDPaís  . TLD . País | . TLD


TLDPaís.t = “.” & TLD.t & “.” & País.t
TLDPaís.t = “.” & TLD.t

TLD  com | net | org | info | edu | gov | mil | name | gob |
Letra Letra
TLD.t = “com”
TLD.t = “net”
TLD.t = “org”
...
TLD.t = Letra.Lexema & Letra.Lexema

País  Letra Letra


País.t = Letra.Lexema & Letra.Lexema

Nombre  Nombres Apellidos | Apellidos , Nombres


Nombre.t = Nombres.t & Apellidos.E & Apellidos.t
Nombre.t = Nombres.t & Apellidos.E & Apellidos.t

Nombres  3Palabras | 2Palabras | Palabra


Nombres.t = 3Palabras.t
Nombres.t = 2Palabras.t
Nombres.t = Palabra.Lexema

Apellidos  4Palabras | 3Palabras | 2Palabras | Palabra | 


Apellidos.t = 4Palabras.t Apellidos.E = “ ”
Apellidos.t = 3Palabras.t Apellidos.E = “ ”
Apellidos.t = 2Palabras.t Apellidos.E = “ ”
Apellidos.t = Palabra.Lexema Apellidos.E = “ ”
Apellidos.t = “” Apellidos.E = “”
2Palabras  Palabra Palabra
2Palabras.t = Palabra.Lexema & “ ” & Palabra.Lexema

3Palabras  Palabra 2Palabras


3Palabras.t = Palabra.Lexema & “ ” & 2Palabras.t

4Palabras  Palabra 3Palabras


4Palabras.t = Palabra.Lexema & “ ” & 3Palabras.t

5Palabras  Palabra 4Palabras


5Palabras.t = Palabra.Lexema & “ ” & 4Palabras.t

Basura  Letra Basura | Número Basura | Especial | Separador


Analizador Léxico

Lexema Componente Léxico Valor del atributo


(Token)
Una letra Letra La misma letra
Un número Número El mismo número
Secuencia de letras, Palabra La misma
números o especiales sin secuencia
espacios.
¡!¿?#$%^&*(){} Especial El símbolo
[]/\|<>+=-_~
.,;: Separador El símbolo

Das könnte Ihnen auch gefallen