justinmeza/lci
FreeA LOLCODE interpreter written in C.
FreeFree tier
About justinmeza/lci
lci is a LOLCODE interpreter written in C, designed to be correct, portable, fast, and precisely documented. It aims to conform closely to the LOLCODE language specification and includes unit tests packaged with the source code. The interpreter follows the ANSI C standard for broad portability across systems and uses Doxygen for literate code documentation. lci also features a binding system that exposes C libraries to LOLCODE via the 'CAN HAS library?' syntax, including libraries for file I/O (STDIO), networking (SOCKS), and more. Installation is supported on Linux and macOS via a Python install script or manual CMake build, with optional memory testing and documentation generation.
Key Features
Conforms to the LOLCODE language specification
Packaged with unit tests for verifying correctness
Portable across systems via ANSI C compliance
Fast execution with efficient code
Precisely documented using Doxygen-generated literate documentation
Binding system exposing C libraries to LOLCODE via 'CAN HAS library?'
Built-in libraries: STDIO (file I/O), SOCKS (networking), and more
Supported on Linux and macOS with easy install script or CMake build
Optional memory testing and documentation generation
Open source under the COPYING license
Pros & Cons
Pros
- Open source and free to use
- Emphasizes correctness with comprehensive unit tests
- Portable across multiple platforms due to ANSI C compliance
- Fast performance relative to other interpreted esoteric languages
- Includes standard libraries for file I/O and networking
- Well-documented source code with Doxygen
- Easy installation via script or manual build
Cons
- Limited to the esoteric LOLCODE language, not for production use
- Small community and infrequent updates (last commit may be old)
- Documentation and resources are minimal outside the GitHub repo
- Only officially supports Linux and macOS; Windows not mentioned
Best For
Interpreting and executing LOLCODE programsLearning the esoteric LOLCODE programming languageDeveloping and testing LOLCODE scripts for fun or educationExperimenting with language implementation techniques in CBuilding networked or file-handling applications in LOLCODE
FAQ
What is lci?
lci is an interpreter for the esoteric programming language LOLCODE, written in C. It aims to be correct, portable, fast, and precisely documented.
What platforms does lci support?
lci supports Linux and macOS. It follows the ANSI C specification, which should allow compilation on other systems with a C compiler and CMake.
How do I install lci?
You can install lci using the provided Python install script (./install.py) or manually via CMake: cmake ., make, make install. A custom prefix can be set with --prefix.
Does lci include a standard library?
Yes, lci includes a binding system that exposes C libraries to LOLCODE. Built-in libraries include STDIO for file I/O and SOCKS for networking, accessible via 'CAN HAS library?'.
Where can I find documentation?
Documentation is generated using Doxygen and browsable online via the project's homepage at http://lolcode.org. The README on GitHub also provides instructions and examples.
Is lci still maintained?
The project appears to be in maintenance mode with the latest commits from several years ago. The repository is still available and open source, but active development may be limited.