Pegjs: Recuperar gramática do analisador peg

Criado em 5 jul. 2019  ·  1Comentário  ·  Fonte: pegjs/pegjs

Pergunta

Alguém já trabalhou para converter a saída de peg de volta para a gramática de entrada?

Descrição

Recentemente herdei um projeto que usa PEG. Temos o analisador PEG, mas a gramática de origem parece estar perdida ou ausente. É possível recuperar a gramática apenas do código do analisador PEG?

Passos para reproduzir

  1. Dado um analisador de peg
  2. Recuperar a gramática de origem

Programas

  • PEG.js: 0.10.0
  • Node.js: 12.6.0

Comentários muito úteis

O processo é bastante simples de fazer à mão.

  • Cada regra é uma função que começa com peg$parse .
  • Cada
} else {
    peg$currPos = s#;
    s# = peg$FAILED;
}

significa que havia um item em sequência.

  • Cada while (s# !== peg$FAILED) é uma repetição.
  • Cada if (s# === peg$FAILED) é um ramo alternativo de uma escolha.

>Todos os comentários

O processo é bastante simples de fazer à mão.

  • Cada regra é uma função que começa com peg$parse .
  • Cada
} else {
    peg$currPos = s#;
    s# = peg$FAILED;
}

significa que havia um item em sequência.

  • Cada while (s# !== peg$FAILED) é uma repetição.
  • Cada if (s# === peg$FAILED) é um ramo alternativo de uma escolha.
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

emmenko picture emmenko  ·  15Comentários

StoneCypher picture StoneCypher  ·  6Comentários

mattkanwisher picture mattkanwisher  ·  5Comentários

doersino picture doersino  ·  15Comentários

futagoza picture futagoza  ·  6Comentários