Domanda

Esiste un equivalente Lua per Python shlex biblioteca?

È stato utile?

Soluzione

Ho trovato un riferimento a un progetto chiamato LuaParse :

  

LuaParse include Blex, un obiettivo generale pura-Lua lexer e lparse, un puro-Lua Lua parser, così come una varietà di funzioni di utilità e di un sistema di gestione dei pacchetti di prototipo.

Forse questo meed vostre esigenze.

Altri suggerimenti

Si veda anche LPeg .

Se l'obiettivo è quello di analizzare un linguaggio a guscio (che sembra obiettivo di progettazione che deve essere effettivamente di shlex) quindi scrivendo una grammatica in LPeg come LHF suggerisce è probabilmente la risposta giusta. Tuttavia, non è tutto così facile scrivere una grammatica che implementa completamente il guazzabuglio di regole di quoting stratificati che gusci in realtà seguono. Finché non ci si aspetta di analizzare correttamente tutti /bin/sh valido (o peggio, csh) script, dovrebbe essere semplice di scrivere una grammatica che è utile.

Se l'obiettivo è infatti quello di creare un "po 'di linguaggio" ragionevole per i file di configurazione o di scripting di applicazioni, quindi suggerirei che Lua per sé è già molto vicino ad essere quella lingua. È stato originariamente progettato con la descrizione dei dati in mente, e la sua parser è abbastanza abili a gestire dichiarazioni di dati anche abbastanza grandi. Vedere sezione 10.1 di PiL per un esempio di come utilizzare Lua in questo modo. Il capitolo 25 descrive l'integrazione di Lua con un'applicazione più grande per il caso di uso specifico la configurazione, e dimostra una serie di approcci.

Si veda anche gg, mlp e clopts moduli da Metalua .

Quelli sono 'non-proprio' Lua (come Metalua è una lingua a parte), ma può fornire alcuni spunti utili. Anche il codice Metalua compila in pianura bytecode Lua, quindi è riutilizzabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top