Pergunta

Existe um equivalente Lua para de python shlex biblioteca?

Foi útil?

Solução

Eu encontrei uma referência a um projeto chamado LuaParse :

LuaParse inclui Blex, um propósito geral puro-Lua lexer e lparse, a Lua puro-parser Lua, bem como uma variedade de funções de utilidade e um sistema de gerenciamento de pacotes protótipo.

Talvez isto meed suas necessidades.

Outras dicas

Veja também LPEG .

Se o objetivo é analisar um shell-like linguagem (o que parece ser objetivo do projeto real de shlex), em seguida, escrever uma gramática em LPEG como LHF sugere é provavelmente a resposta certa. No entanto, não é tão fácil de escrever uma gramática que implementa completamente a miscelânea de regras citando camadas que conchas realmente seguir. Contanto que você não está esperando para analisar corretamente todos /bin/sh válidos (ou, csh pior) roteiros, deve ser fácil de escrever uma gramática que é útil.

Se o objetivo é realmente para criar uma "pequena linguagem" sensata para arquivos de configuração ou aplicação scripting, então eu sugiro que se Lua já está muito perto de ser esse idioma. Ele foi originalmente projetado com descrição de dados em mente, e seu analisador é bastante hábeis em lidar até mesmo bastante grandes declarações de dados. Consulte seção 10.1 do PIL para um exemplo de como usar Lua desta forma. Quanto mais tarde capítulo 25 descreve a integração de Lua com uma aplicação maior para o caso de uso específico de configuração, e demonstra uma série de abordagens.

Veja também gg, mlp e clopts módulos de Metalua .

Aqueles são 'não-muito' Lua (como Metalua é uma língua separada), mas pode fornecer alguns insights úteis. Também Metalua compila código em simples bytecode Lua, por isso é reutilizável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top