Czy istnieje odpowiednik Lua dla biblioteki Pythona shlex?Lua odpowiednikiem shlex?
Odpowiedz
I znaleziono odniesienie do projektu o nazwie LuaParse:
LuaParse zawiera Blex, ogólnego przeznaczenia czystego Lua lexer i lparse, czystej Lua Lua parser, jak również wielu funkcji użytkowych i prototypowy system zarządzania pakietami.
Może to zaspokoi twoje potrzeby.
Patrz także LPeg.
Zobacz także moduły gg
, mlp
i z Metalua.
Są to "niezupełnie" Lua (ponieważ Metalua jest odrębnym językiem), ale mogą dostarczyć użytecznych spostrzeżeń. Również kod Metalua kompiluje się do prostego kodu bajtowego Lua, więc można go użyć ponownie.
Jeśli celem jest przeanalizowanie języka podobnego do powłoki (który wydaje się być rzeczywistym celem projektu shlex), to pisanie gramatyki w LPeg jako lhf suggests jest prawdopodobnie właściwą odpowiedzią. Jednak nie jest tak łatwo napisać gramatykę, która całkowicie implementuje zbiór warstwowych reguł cytowania, za którymi właściwie składają się powłoki. Dopóki nie spodziewamy się poprawnie przeanalizować wszystkich ważnych skryptów /bin/sh
(lub gorzej, csh
), powinno być proste pisanie gramatyki, która jest przydatna.
Jeśli celem jest stworzenie rozsądnego "małego języka" dla plików konfiguracyjnych lub skryptów aplikacji, sugerowałbym, że sama Lua jest już bardzo bliska bycia tym językiem. Został on pierwotnie zaprojektowany z myślą o opisie danych, a jego parser jest dość biegły w obsłudze nawet dość dużych deklaracji danych. Zobacz section 10.1 of PiL dla jednego przykładu, jak używać Lua w ten sposób. Późniejsza chapter 25 opisuje integrację Lua z większą aplikacją dla konkretnego przypadku użycia konfiguracji i demonstruje wiele podejść.
- 1. shlex alternative dla Java
- 2. DbType będący odpowiednikiem SqlDbType.Bit
- 3. pyton odpowiednikiem R tabeli
- 4. Lua, co to jest Lua?
- 5. Kod wcięcia Lua w Lua
- 6. AVX 256-bitowy odpowiednikiem _mm_load1_ps
- 7. Metoda równoważna z odpowiednikiem -respondsToSelector:
- 8. kątowa 2 odpowiednikiem reagować renderToString
- 9. Haskell jest odpowiednikiem Scala's groupBy
- 10. Czy iframe jest odpowiednikiem okna?
- 11. VBA odpowiednikiem SQL „w” funkcji
- 12. D3 4.0 rangeRoundBands jest odpowiednikiem?
- 13. Konwersja Matlab na Octave jest odpowiednikiem container.Map?
- 14. Podproces Pythona Popen.communicate() jest odpowiednikiem Popen.stdout.read()?
- 15. R jest odpowiednikiem polecenia "compress" Staty?
- 16. Który z nich jest odpowiednikiem metody isnan()?
- 17. Co jest odpowiednikiem PostgreSQL dla ISNULL()
- 18. Swift jest odpowiednikiem `[NSDictionary initWithObjects: forKeys:]`
- 19. Co jest odpowiednikiem funkcji "nth_element" w Javie?
- 20. Co jest odpowiednikiem zdarzeń .NET w Ruby?
- 21. phpMyAdmin jest odpowiednikiem MySQL dla Redis?
- 22. Co jest odpowiednikiem NSOperationQueue w java android?
- 23. co jest odpowiednikiem :: operator w D?
- 24. npm odpowiednikiem `pip zainstalować -R requirements.txt`
- 25. LINQ kwerendy SQL odpowiednikiem "nie (select query)"
- 26. Java jest odpowiednikiem bisect w pythonie
- 27. Serwer MS SQL jest odpowiednikiem EXPLAIN PostgreSQL
- 28. co jest odpowiednikiem = ~ ruby w php?
- 29. Uruchamianie Lua pod nginxem (pisanie strony internetowej z Lua)
- 30. Umieszczanie Lua w C+Osadzanie Lua w C++
Pierwotnie zapytałem o to, ponieważ myślałem, że shlex był narzędziem do analizowania wiersza poleceń :) – RCIX