|
||||||||
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
lexer
java.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 |