[SP-pm] [OT] Bison, alguém?

Luis Motta Campos luismottacampos em yahoo.co.uk
Quinta Janeiro 31 02:03:54 PST 2008


Gente, eu estou construindo uma gramática LALR(1) em Bison para
implementar a RFC2622, e estou com um problema de implementação que
talvez alguém aqui saiba como resolver.

O que a RFC2822 chama de objeto é uma lista de pares nome-valor, mais ou
menos assim:

person: <nome-pessoa>
address: <endereco>
address: <endereco>
address: <endereco>
phone: <telefone>
phone: <telefone>
nic-hdl: <nic-handle>

O "objeto" é delimitado por uma linha em branco. Quando encontrar uma
linha em branco, começa um novo objeto.

Existem atributos (nomes) obrigatórios e opcionais. Por exemplo:
"person:", "address:", "phone:" e "nic-hdl:" são todos atributos
obrigatórios. "fax-no:" é opcional.

A ordem dos atributos (exceto o primeiro, "person:") não é garantida, e
qualquer ordem (contanto que "person:" seja o primeiro) é válida.

O meu problema está exatamente nisso: eu não tenho idéia de como
implementar uma lista de pares nome-valor sem enforçar a ordem dos
atributos, usando uma LALR(1).

Alguém pode me dar uma sugestão?

Putamplexos!
-- 
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}



Mais detalhes sobre a lista de discussão SaoPaulo-pm