Ciência da Computação
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% [?]
Monitoria de Sistemas Inteligentes
by Adriano Melo on nov.11, 2009, under Centro de Informática, Ciência da Computação
Apresentações
- Sintaxe de Jess e Integração do Jess com Protégé usando JessTab (apresentação não é auto-explicativa)
- Sintaxe de Jess
- Como usar o Jess como motor de inferência para o Protégé. (JessTab)
- Modelando ontologias OWL com Protégé: Tutorial do domínio de Pizzas
Documentação Oficial das Ferramentas
- Documentação do Jess – Jess® The Engine for the JavaTM Platform
- Tutorial de Protégé OWL – A Practical Guide To Building OWL Ontologies Using The Protégé-OWL Plugin and CO-ODE Tools
- Manual de referência do JessTab – JessTab Manual – Integration of Protégé and Jess
Scripts para estudo
- Jess: Akinator
Downloads
Jess
Protégé
- Windows com JVM (93.6M) – Versão recomendada para windows
- Windows sem JVM (68.4M)
- Linux sem JVM (68.3M)
Ontologias biológicas
Popularity: 21% [?]