Adriano Melo

Centro de Informática

Quero ter minha própria sintaxe!

by Adriano Melo on mai.20, 2010, under Ciência da Computação, Desenvolvimento, Teoria e Implementação de Linguagens Computacionais (if688)

Um problema difícil de ser solucionado e que é recorrente para alguns desenvolvedores é de ter um arquivo que atenda a uma sintaxe bem específica em seus projetos de software.

O HTML, por exemplo, possui uma sintaxe bem característica que é de ter uma árvore de conceitos encadeados e encapsulados por “tags”.

Como fazer um programa ou aplicação que tenha arquivos com uma sintaxe singular e que possa ser complexo em relação às regras, e ainda assim legíveis e organizados?

A resposta, que é o motivo desse post, empresta alguns conceitos de compiladores. As duas primeiras etapas de um projeto de compilador são as análises léxica e sintática. A análise léxica identifica palavras-chave nos dados de entrada, e a análise sintática explora as regras definidas para a sua linguagem utilizando as palavras-chave encontradas na fase anterior.

Se o seu projeto é em C, existem duas ferramentas que são as mais difundidas e utilizadas: o lex para análise léxica e o yacc para análise sintática. Essas duas são as ferramentas mais tradicionais, elas foram reescritas e há versões mais recentes com mais suporte da comunidade e documentação atualizada. São os projetos flex e bison, o primeiro substitui o lex, e o segundo o yacc.

Para a linguagem python existem os projetos plex, antlr, ragel e outros.

Em java você pode usar o antlr, jflex, jlex, BYACC/J.

Uma lista mais completa de desses tipos de ferramentas pode ser encontrada através do link: http://en.wikipedia.org/wiki/List_of_parser_generators

Popularity: 7% [?]

1 Comment more...

Monitoria de Sistemas Inteligentes

by Adriano Melo on nov.11, 2009, under Centro de Informática, Ciência da Computação

Apresentações

Documentação Oficial das Ferramentas

Scripts para estudo

Downloads

Jess

Protégé

Ontologias biológicas

Popularity: 21% [?]

Leave a Comment :, , , , , more...

Diretor de engenharia do Google na UFPE

by Adriano Melo on out.12, 2007, under Centro de Informática

Dia normal, em minha humilde rotina diária, quando abri o Gmail e fui olhar meus emails:

“Diretor de engenharia do Google na América Latina Berthier Ribeiro-Neto visitará o CIn”

Caramba! Que raios esse homem iria fazer aqui no CIn? Corri para ver o que dizia o email. Não me surpreendi: Recrutar engenheiros para trabalhar em MG. Não me surpreendi mas fiquei muito feliz, a cada dia vejo que o esforço para passar no vestibular e me manter aqui vale a pena.

“No próximo dia 08, o Centro de Informática (CIn)-UFPE vai receber o Diretor de engenharia do Google na América Latina, Berthier Ribeiro-Neto, para dar uma palestra sobre The Web Economy – Trends and Some Technical Challenges.

Nesta apresentação, ele irá falar sobre o modelo básico que prevaleceu na economia Web – propaganda digital. O objetivo é explorar problemas técnicos derivados deste modelo econômico. O evento será voltado para os alunos do CIn e acontecerá no Auditório do Centro, às 16h.

Palestrante – Berthier, que é professor da Universidade Federal de Minas Gerais (UFMG), começou a trabalhar nessa área, em 1995, na própria universidade, em um projeto de pesquisa que originou a máquina de busca nacional TodoBR. A ferramenta entrou no ar quatro anos depois e fez tanto sucesso que foi preciso criar uma empresa para mantê-la – a Akwan. Em 2005, esta foi comprada pelo Google.”

Ops! não era nesse email o que falava que ele iria recrutar engenheiros, mas ele fez isso durante a manha aqui.

Essa palestra foi a tarde. E, claro, estava lá escutando tudo que ele estava proposto a dizer. inclusive falou de alguns algoritmos do orkut que utilizam grafos e algumas estatísticas dos produtos de propaganda do google, de quão compatíveis com a realidade eles são.

Popularity: 35% [?]

Leave a Comment more...