ANTLR & ANTTLRWorks
Upcoming SlideShare
Loading in...5
×
 

ANTLR & ANTTLRWorks

on

  • 1,126 views

 

Statistics

Views

Total Views
1,126
Views on SlideShare
1,126
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ANTLR & ANTTLRWorks ANTLR & ANTTLRWorks Presentation Transcript

  • Tradutores ANTLR & ANTLRWorksGuilherme Wunsch, Isaías Rosa e Juliano Flores Universidade do Vale do Rio dos Sinos
  • Agenda• Informações• Características• Funcionamento• ANTLRWorks – Diagramas Sintáticos – Parse Tree – AST• Exemplo de Debug• Referências 2
  • Informações• ANother Tool for Language Recognition• Ferramenta de Linguagem (Gerador de Interpretadores, Compiladores e Tradutores)• Sucessor do PCCTS (Purdue Compiler Construction Tool Set)• Versão 3.4• Software Livre• Licença BSD• Terence Parr• 1989!• University San Francisco 3
  • Características• Entrada: Gramática Formal (notação EBNF)• Saída Básica (código): – Lexer – Parser• Linguagens de Programação suportadas: Ada95, ActionScript, C, C#, Java, JavaScript, Objec tive-C, Perl, Python, e Ruby• Alta Legibilidade• Tipo: LL(*) 4
  • FuncionamentoRequisitos: 1. Gramática: Gramatica.g 2. Executor: Teste.java 3. Entrada (opcional): entrada.txt 5
  • FuncionamentoExecução: 1. antlr: Gera as classes lexer e parser: • GramaticaLexer.java • GramaticaParser.java 2. javac: Compilar estes dois e Teste.java • GramaticaLexer.class, GramaticaParser.class • Teste.class 3. java: Executar java Teste < entrada.txt 6
  • ANTLRWorks• IDE• Multiplataforma• Versão 1.4.3• Jean Bovet & Terence Parr• Conteúdo: – Editor sensível ao contexto, – Interpretador, – Compilador, – e Depurador ANTLR. 7
  • ANTLRWorks 8
  • Demonstração Debugger 9
  • Arvore Sintatica 10
  • Arvore Sintática Abstrata (AST) 11
  • AST parcial 12
  • Demonstração compilação e execução1. Gerar código pela IDE;2. Criar classe de Testes (Teste.java);3. Compilar código incluindo antlr.jar no CLASSPATH; – javac –classpath “.;C:Pastaantlr.jar” *.java4. Executar código incluindo antlr.jar no CLASSPATH; – java –classpath “.;C:Pastaantlr.jar” Teste entrada.txt 13
  • Referências• http://www.antlr.org• http://en.wikipedia.org/wiki/ANTLR• http://en.wikipedia.org/wiki/LL_parser• http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93 Naur_Form• http://pt.wikipedia.org/wiki/An%C3%A1lise_sint%C3%A1tic a_(computa%C3%A7%C3%A3o)• http://www.youtube.com/watch?v=9Zcfz9o5vNk• http://www2.icmc.usp.br/~gracan/teoria/SubItem51Teoria. html• http://supportweb.cs.bham.ac.uk/docs/tutorials/docsyste m/build/tutorials/antlr/antlr.html 14
  • Dúvidas? 15
  • Obrigado! 16