Este é um obra em progresso Lua 5.1+ analisador escrito em ferrugem. Ele preservará todos os comentários, espaço em branco e distinções de estilo, como citações e fuga.
Quero usar o MAB para vários projetos futuros:
As contribuições são bem -vindas - há muito trabalho a ser feito!
O MAB suporta Rust 1.26 estável e mais recente.
Já existe um conjunto de testes bastante considerável implementado como um sistema "análise por exemplo". As entradas do arquivo de teste estão localizadas em parse_examples/source .
O teste de teste ( cargo test ) lerá, tokenizará e analisará esses arquivos de origem e verificará a última pasta de resultados bons conhecidos ( parse_examples/results ) para ver se eles correspondem ao que fizeram antes.
Se você estiver fazendo alterações que modificam o AST do analisador, exclua a lista de token serializada correspondente e os arquivos JSON AST. Quando você executa o Test Runner em seguida, ele gera arquivos que devem ser revisados e enviados manualmente ao lado de sua alteração. O espectador DIF do Git pode ajudar a identificar se o que foi alterado foi intencional.
Tenha cuidado com as terminações de linha ao desenvolver no Windows. O repositório possui um arquivo .editorconfig , bem como um arquivo .gitattributes para tentar garantir que todos os arquivos Lua têm terminações de linha LF em oposição ao CRLF . Verificando em uma lista de análise por exemplo, com as terminações da linha CRLF assadas nela, fará com que o IC falhe.
Este projeto está disponível nos termos da licença pública de Mozilla, versão 2.0. Os detalhes estão disponíveis na licença.