|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object | +--chat.Parser
Il parser specifico per la seguente grammatica:
scopo ::= nome / chiave @ endpoint
nome ::= ( a |...| z | A |...| Z | 0 |...| 9 | _ | $ ) { a |...| z | A |...| Z | 0 |...| 9 | _ | $ }31
chiave ::= numero { , numero }
endpoint ::= ip : numero { @ ip : numero }
ip ::= numero . numero . numero . numero
numero ::= 0 [ x cifra-hex { cifra-hex } | { cifra } ] | cifra-non-nulla { cifra }
cifra ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
cifra-non-nulla ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
cifra-hex ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | A | B | C | D | E | F
Sono riconosciuti i commenti in stile C e C++.
| Field Summary | |
private Lexer |
lexer
Il lexer incapsulato, associato allo stream fisico. |
| Constructor Summary | |
(package private) |
Parser(java.io.Reader stream)
Unico costruttore. |
| Method Summary | |
(package private) void |
avanzaToken()
Procedura per avanzare lungo il flusso di caratteri; da invocare OBBLIGATORIAMENTE all'avvio per portare il lexer interno sul primo token disponibile dallo stream di lettura. |
protected java.security.PublicKey |
chiave()
Procedura associata alla regola di produzione "chiave" della grammatica. |
protected Endpoint |
endpoint()
Procedura associata alla regola di produzione "endpoint" della grammatica. |
protected java.net.InetAddress |
ip()
Procedura associata alla regola di produzione "ip" della grammatica. |
protected java.lang.String |
nome()
Procedura associata alla regola di produzione "nome" della grammatica. |
protected long |
numero()
Procedura associata alla regola di produzione "numero" della grammatica. |
(package private) Contatto |
prossimo()
Procedura che estrae la prima parola disponibile dallo stream cui è associato il Lexer lexer.
|
(package private) java.lang.String |
tokenCorrente()
Funzione che restituisce il token disponibile dal Lexer lexer, senza estrarne uno nuovo. |
| Methods inherited from class java.lang.Object |
|
| Field Detail |
private Lexer lexer
Lexer| Constructor Detail |
Parser(java.io.Reader stream)
stream - il java.io.Reader su cui far agire il lexer lexer.lexer| Method Detail |
protected java.lang.String nome()
throws java.io.IOException
protected java.security.PublicKey chiave()
throws java.io.IOException
cryptix.provider.rsa.RawRSAPublicKey
ottenuta mediante la sintassi espressa della
riscrittura "chiave".
protected Endpoint endpoint()
throws java.io.IOException
Endpoint secondo la sintassi della
regola di riscrittura "endpoint" della grammatica.Endpoint
protected java.net.InetAddress ip()
throws java.io.IOException
java.net.InetAddress in base alla
produzione "ip" della grammatica.
protected long numero()
throws java.io.IOException
long secondo la riscrittura "numero" della grammatica.
void avanzaToken()
throws java.io.IOException
lexerjava.lang.String tokenCorrente()
Lexer lexer, senza estrarne uno nuovo.lexer,
Lexer,
Lexer.tokenCorrente()
Contatto prossimo()
throws java.io.IOException
Lexer lexer.
Realizza lo scopo della grammatica:
scopo ::= nome / chiave @ endpoint
Contatto disponibile nel flusso
di char dello stream di lexer.lexer.Contatto
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||