LPC may refer to:
Pike is an interpreted, general-purpose, high-level, cross-platform, dynamic programming language, with a syntax similar to that of C. Unlike many other dynamic languages, Pike is both statically and dynamically typed, and requires explicit type definitions. It features a flexible type system that allows the rapid development and flexible code of dynamically typed languages, while still providing some of the benefits of a statically typed language.
Pike features garbage collection, advanced data types, and first-class anonymous functions, with support for many programming paradigms, including object-oriented, functional and imperative programming. Pike is free software, released under the GPL, LGPL and MPL licenses.
Pike has its roots in LPC, which was a language developed for MUDs. Programmers at Lysator in Linköping, Sweden, most notably Fredrik Hübinette and Per Hedbor, separated the language and virtual machine from the rest of the MUD driver, and used it as a rapid prototyping language for various applications, calling it LPC4.
LPC (short for Lars Pensjö C) is an object-oriented programming language derived from C and developed originally by Lars Pensjö to facilitate MUD building on LPMuds. Though designed for game development, its flexibility has led to it being used for a variety of purposes, and to its evolution into the language Pike.
LPC syntax places it in the family of C-like languages, with C and C++ its strongest influences.
Almost everything in LPC is an object. However, LPC does not precisely use the concept of a class (MudOS has something called a class, but it is really a struct). Instead, LPC objects are blueprint objects and clones of blueprint objects, in a prototype-based programming model. One can treat a blueprint object much as a class in other object-oriented languages.
Each object has variables (attributes) and functions (methods). The variables store the object's state; the functions are executable routines that can be called in the object. An object is uniquely defined by the name of the file in which it comes from, plus, if a clone, a numeric identifier. In a typical implementation, a clone of the file /lib/weapon.c
which is the third clone created in the current run session will be /lib/weapon#3
. The blueprint object corresponding to /lib/weapon.c
is simply /lib/weapon
. In a MUD game, common objects include rooms, weapons, armor, and non-player character (NPCs). Most mudlibs define inheritable objects for such common things. In the LPMud 2.4.5 mudlib, for example, the parent object for all rooms is /lib/room
.
Macht
C'ez nas viharji divjajo. Stuerme wueten ueber uns,
Mesta gorijo in telesa. es brennen Staedte und Menschenkoerper!
Slast nas stresa Lust durchstroemt uns.
Spet se c'es polja Ueber die Fluren lautet
glasijo zvoki nas'e govorice, der Klang unserer Worte wider,
ki nam molitev je in vrisk. die uns Gebet und Jauchzen sind.
Ne, ne dopusti vec', vesoljni bog, O allmaechtiger Gott, lass
da bi nas'a sila potonila, unsere Kraft nie mehr schwinden,
saj je tako brezmejno sladka, mila... denn sie ist so unendlich suess
und lieb...
SLAST NAS STRESA! LUST DURCHSTROEMT UNS!
(Power
Storms rage over us,
cities and human bodies are burning.
Lust flows through us.
Over the land the sound
of our words rings out,
that are to us prayer and exultation. [Not 100% sure about this verse.]
O almighty God, never let
our power fail again,
for it is so endlessly sweet and dear...