Wat is het LOBSTER-bestandsformaat?
Een .lobster-bestand is een broncodebestand geschreven in de programmeertaal Lobster. Lobster is ontworpen door Wouter van Oortmerssen en voor het eerst uitgebracht in 2011 onder de Apache 2.0-licentie. Het bestand bevat platte, voor mensen leesbare tekst met een beknopte syntaxis die leunt op inspringing in plaats van accolades, waardoor het op het eerste gezicht veel lijkt op .py-code.
Onder de motorkap zijn de twee talen echter heel verschillend. Lobster is statisch getypeerd met flow-sensitive type-inferentie, waardoor je de meeste type-annotaties kunt overslaan terwijl fouten toch worden opgemerkt voordat het programma wordt uitgevoerd. Het beheert het geheugen met reference counting tijdens het compileren en lifetime-analyse in plaats van een runtime garbage collector. De taal is bedoeld voor algemeen gebruik, maar de referentie-implementatie wordt geleverd met OpenGL, SDL en andere ingebouwde bibliotheken gericht op games en graphics, waardoor veel .lobster-bestanden deel uitmaken van kleine games of grafische demo's.
Beveiliging & veiligheid
RISICO: LOWA .lobster file is plain-text source code and cannot run on its own by double-clicking. It only does something when executed by the Lobster compiler, and like any script it can perform whatever actions its code contains, so read unfamiliar files before running them.
Formaatdetails
in een notendop- Lobster ETL / test framework (SAP) - Some SAP LO extraction and QA tooling uses the name Lobster, but that is unrelated to this source-code format.
- Lobster_data / Lobster Integration - Lobster GmbH sells data-integration software called Lobster; its projects are not saved as .lobster source files.
Programma's die LOBSTER-bestanden openen
lobster yourfile.lobster, or build/pack it using --cpp or --pak. lobster yourfile.lobster from a terminal to execute the program. bin/lobster yourfile.lobster to execute the program. Technische details
diepe specificaties| Encoding | UTF-8 plain text |
| Container | None (flat source text) |
| Typical size | A few hundred bytes to tens of kilobytes |
| Structure | Human-readable Lobster source using significant indentation instead of braces, in the style of Python. Contains function and struct definitions, imports of other .lobster modules, and statements. Statically typed with flow-sensitive type inference, so most types are not written out explicitly. |
| Integrity | None built in |
| Platforms | Windows, macOS, Linux, Web (WebAssembly) |
| Notes | The reference implementation runs a .lobster file through a JIT/interpreter by default. It can also emit a .lpak bytecode pakfile (--pak) or transpile the program to a .cpp file (--cpp) for shipping builds. The engine bundles OpenGL, SDL and related batteries aimed at games and graphics. |
| Syntax Style | Python-esque, indentation-based |
| Type System | Static, flow-sensitive type inference with specialization |
| Memory Management | Compile-time reference counting with lifetime analysis |
| Uitgebracht | 2011 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | aardappel.github.io |
LOBSTER conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over LOBSTER-bestanden.
Veelgestelde vragen
Welk programma opent een .lobster-bestand?
Hoe voer ik een .lobster-bestand uit?
lobster yourfile.lobster (of bin/lobster yourfile.lobster) uit vanuit een terminal.Is een .lobster-bestand hetzelfde als Python?
Kan ik een .lobster-programma omzetten in een zelfstandige build?
lobster --cpp om C++ te genereren voor een native build, of lobster --pak om een .lpak pak-bestand te maken dat de runtime direct kan uitvoeren.