JS PARSER GENERATORS
Marcelo Haskell Camargo
marcelocamargo@linuxmail.org
haskellcamargo.github.io
SOBRE
Programming languages researcher and designer
- Capybara Programming Language
- Quack Programming Language

- PHP Interpreter Activist
SUMÁRIO
- O que é um parser
- Gramáticas formais
- Geradores de parsers JS
- Construindo um analisador aritmético
O QUE É UM PARSER
- Base de um compilador
- Análise sintática com base gramatical
- Construção de linguagens

LEXER

- Divide texto em um conjunto de tokens
- Classifica-os com tags e talvez valores
- "Alimenta" o parser

PARSER

- Consome tokens
- Possui uma gramática
- Pode gerar a AST (árvore sintática abstrata)

AST

- Árvore representa o programa
- Análise semântica
- Pode gerar código
GRAMÁTICAS FORMAIS
- Definição formal de uma linguagem
- Conjunto de produções que a definem
SISTEMA NUMÉRICO DO PHP

COMO FUNCIONA?
- Parser generator recebe uma gramática
- Gera código capaz de analisar a linguagem desta
- Alimenta-se o parser gerador com trechos da linguagem
GERADORES DE PARSER JS
- PegJS
- Jison
- Parsimmon
- OMeta
- ANTLR
CONSTRUINDO UM ANALISADOR ARITMÉTICO
OBRIGADO!
PERGUNTAS?
JS Parser Generators
By Marcelo Camargo
JS Parser Generators
- 1,541