The Firm library implements the Firm intermediate representation (IR). libFirm
contains algorithms for construction of the SSA form directly from the
attributed syntax tree. A set of analyses and optimisation phases is provided.
This version includes a complete backend for the IA32 architecture, as well as
some unfinished backends for SPARC, ARM
* support for object oriented type hierarchies
* analyses: dominance, loop tree, execution frequency, control dependencies,
call graph, rapid type, def-use, alias analysis, class hierarchy analysis
* Optimisations: constant folding, local common subexpression elimination,
global common subexpression elimination, code placement, operator strength
reduction, scalar replacement, load/store, control flow optimisations,
if-conversion, partial condition evaluation, reassociation, tail recursion
elimination, inlining, procedure cloning, dead code elimination, ...
* enhanced debugging support: extensive checkers, breakpoints on node creation,
entity creation, graph dumping
* lowering of intrinsics, double word arithmetics, bitfields
* backend with SSA based register allocation including several algorithms for
spilling and copy coalescing. Instruction and block scheduling, support for
ABI handling.
* working ia32 backend with support for x87 and SSE2 floating point
* handwritten recursive descent C90/C99 frontend available (lang/cparser)
Luabind is a library that helps you create bindings between C++ and
Lua. It has the ability to expose functions and classes, written
in C++, to Lua. It will also supply the functionality to define
classes in lua and let them derive from other lua classes or C++
classes. Lua classes can override virtual functions from their C++
baseclasses. It is written towards Lua 5.x, and does not work with
Lua 4.
It is implemented utilizing template meta programming. That means
that you don't need an extra preprocess pass to compile your project
(it is done by the compiler). It also means you don't (usually)
have to know the exact signature of each function you register,
since the library will generate code depending on the compile-time
type of the function (which includes the signature). The main
drawback of this approach is that the compilation time will increase
for the file that does the registration, it is therefore recommended
that you register everything in the same cpp-file.
* Leo is a programmer's editor and a flexible browser for projects,
programs, classes or data. Leo clarifies design, coding, debugging,
testing and maintenance.
* Leo is an outlining editor. Outlines clarify the big picture while
providing unlimited space for details.
* Leo is a literate programming tool, compatible with noweb and CWEB.
Leo enhances any text-based programming language, from assembly
language and C to Java, Python and XML.
* Leo is also a data organizer. A single Leo outline can generate
complex data spanning many different files. Leo has been used to
manage web sites.
* Leo is a project manager. Leo provides multiple views of a project
within a single outline. Leo naturally represents tasks that remain
up-to-date.
* Leo is fully scriptable using Python and saves its files in XML
format.
* Leo is portable. Leo.py is 100% pure Python and will run on any
platform supporting Python and PyQt, including Windows, Linux and
MacOS X.
* Leo is Open Software, distributed under the Python License.
Frodo is a freeware C64 emulator for BeOS, Unix, MacOS, AmigaOS, Win32
and RiscOS systems and the world's first C64 emulator not bearing a
"64" in its name. :-) (No, it has absolutely nothing to do with
frodo.hiof.no, that's a pure coincidence.)
Frodo was developed to reproduce the graphics of games and demos
better than the existing C64 emulators. Therefore Frodo has relatively
high system requirements: It should only be run on systems with at
least a PowerPC/Pentium/68060. But on the other hand, Frodo can
display raster effects correctly that only result in a flickering mess
with other emulators.
Frodo comes in three flavours: The "normal" Frodo with a line-based
emulation, the improved line-based emulation "Frodo PC", and the
single-cycle emulation Frodo SC that is slower but far more
compatible.
In addition to a precise 6510/VIC emulation, Frodo features a
processor-level 1541 emulation that is even able to handle about 95%
of all fast loaders. There is also a faster 1541 emulation for four
drives in .d64/x64 disk images, .t64/LYNX archives, or directories of
the host system.
gFTP is a free multithreaded FTP and SFTP client for Unix-like systems.
It has the following features:
Distributed under the terms of the GNU Public License
Written in C, has a text interface and a GTK+ 2.x interface
Supports the FTP, FTPS (control connection only), HTTP, HTTPS, SSH, and FSP
Multithreaded to allow for simultaneous downloads
File transfer queues to allow for downloading multiple files
Bookmarks menu to allow you to quickly connect to remote sites
Supports downloading entire directories and subdirectories
Extensive connection manager with FTP and HTTP proxy server support
Supports resuming interrupted file transfers
Supports caching of remote directory listings
Supports connecting to a FTP server via command line parameters
Supports associating icons with particular file extensions in the list boxes
Sorting capabilities in the file list boxes
Can restrict files in the list boxes to a particular file specification
Supports viewing and editing of local and remote files
Allows for passive and non-passive file transfers
Supports FXP file transfers (file transfer between 2 remote servers via FTP)
Eliminates buffer overruns from malicious FTP sites
The Doomsday Engine is an enhanced DOOM source port for Windows, Mac OS
X, and various Unix platforms. It is based on the source code of id
Software's DOOM and Raven Software's Heretic and Hexen.
* Hardware-accelerated OpenGL graphics engine
* 3D positional audio for sound effects (not supported by all audio plugins)
* 16-player client/server networking via TCP/IP
* Graphical Control Panel for configuration, accessed quickly with Shift-Escape
* 3D models: Quake's MD2 format and Doomsday's DMD format with LOD support
* High-resolution textures (PNG, TGA, PCX) and detail textures
* Map lighting emulates the effects of radiosity for a more natual appearance
(FakeRadio: shadows in corners)
* Smooth movement of objects, world structures and the camera.
* Colored, dynamic lighting for world surfaces, 3D models, sprites and particles
* Object shadowing effects
* Particle generators for special effects
* Decoration effects on world surfaces: light sources and particle generators
* Lens flares and glowing objects
* Support for skyboxes and 3D sky models
* EAX and A3D environmental sound processing effects
* Upsampling of sound effects
GtkRadiant is a level design program developed by id Software and Loki
Software. It is used to create maps for a number of computer games.
GtkRadiant originated as Q3Radiant, the Quake III Arena level design tool,
which was a Windows-only application. Two major things are different in
GtkRadiant: it is based on the GTK+ toolkit, so it also works in Linux and Mac
OS X, and it's also game engine-independent, with functionality for new games
added as game packs.
GtkRadiant is an Open Source application. Source code is publicly available
from id Software's Subversion repository and new additions to the code are
covered under open source licenses. The core Q3Radiant code, however, was
originally under id Software's proprietary license. The license for both the
editor and toolset (notably Q3Map2, the BSP compiler) was changed in February
2006, and publicly released under the GPL on February 17.
More up-to-date fork, NetRadiant, is available as `games/netradiant' port.
Games::Dice simulates die rolls. It uses a function-oriented (not
object-oriented) interface. No functions are exported by default.
The number and type of dice to roll is given in a style which should be
familiar to players of popular role-playing games: adb[+-*/b]c. a is optional
and defaults to 1; it gives the number of dice to roll. b indicates the number
of sides to each die. % can be used instead of 100 for b; hence, rolling 2d%
and 2d100 is equivalent. roll simulates a rolls of b-sided dice and adds
together the results. The optional end, consisting of one of +-*/b and a
number c, can modify the sum of the individual dice. +-*/ are similar in that
they take the sum of the rolls and add or subtract c, or multiply or divide
the sum by c. (x can also be used instead of *.) Using b in this slot is a
little different: it's short for "best" and indicates "roll a number of dice,
but add together only the best few". For example, 5d6b3 rolls five six- sided
dice and adds together the three best rolls.
This is XBattle by Greg Lesher, based on the original by Steve Lehar released
in 1991, and including certain enhancements, modifications, and bug fixes
suggested by a number of contributors from all over the world.
XBattle is a concurrent multi-player game which combines elements of strategy
with arcade-like action to capture a wide range of military scenarios.
The game is based on X Windows, which you must have installed to run xbattle.
Opponents play from separate displays, with commands being executed concurrently
-- the players do not take "turns", but rather they all issue their commands
simultaneously. There can be any number of players, with each player assigned
to a specific team, indicated by marker colors. The game board is a matrix
of cells (square, hexes, etc.) that can be occupied by colored troops,
with the goal of the game being to eliminate the enemy from the board by
attacking cells occupied by enemy troops. A wide variety of command line options
(and previously configured game files) provide an abundance of different
scenarios and gaming environments.
If you have never used xbattle before, read the introduction on the xbattle Web
site. To get the feel of the game, you can run the "tutorial1" and "tutorial2"
scripts supplied with the game. These start a series of small example games that
you can play around with to learn the various options available with the game.
This is the Image Compiler, which generates images from textual description.
Most important features include:
- Does not need display to run
- Can be run from the command line or as CGI script. In the latter case,
the image is output to the browser (in PNG or JPEG format)
- The size of the output image is automatically determined, no size has to
be specified (although you can give a fixed size
- Coordinates are in pixels, only positive coordinates are visible. Angles
are in integer degrees, no limitations (except the maximum integer limit).
Colors can be specified in one of three formats, including X11 color
(rgb) strings
- A pre-processor can be applied on the input file first; simple
arithmetic can be performed
- Supports commands for drawing lines, circles (filled or not), rectangles
(filled or not), ellipses (filled or not), arcs, and text. Images can
also be imported. For text and images an alignment parameter is
available, and text and images can be rotated over any angle and can
also be mirrored