This is the source package for the BLISS-M compiler, a portable cross-compiler for the BLISS programming language.
The BLISS language was developed at Carnegie-Mellon University in the 1970's for systems programming. It was adopted and used extensively by Digital Equipment Corporation for development of systems software across their 16-bit, 32-bit, 36-bit, and 64-bit systems. It is a typeless, block-structured, language with an extensive lexical processing (macro) facility. See the Wikipedia article on BLISS for more information about the language.
Work in progress. The front-end is mostly complete, with a fully functioning parser and macro facility. Back-end support is currently limited to LLVM and x86 CPUs (32- or 64-bit), with a limited amount of machine-specific support.
- Recent-vintage C compiler
- Recent version of LLVM (one that has support for opaque pointers)
- CMake 3.13 or later, or a recent version of autotools
Recent development and testing has been on Ubuntu 24.04 with gcc 13 and LLVM 14, 17, and 18.
First, clone the repository.
- cd to the top-level source directory and run
autoreconf -i
. - If you want to build outside the source tree, cd to your build directory.
- Run the
configure
script that was generated in step 2. Ifllvm-config
is not in your PATH, use the--with-llvm-config
option onconfigure
to specify its location. - Run
make
to build the compiler. - Run
make check
to test the built compiler.
- Create a directory for the build.
- Run
cmake <path-to-sources>
to generate the build files. CMake will attempt to locate a usable copy of LLVM automatically, but you can specify -DLLVM_CONFIG= to force it to use a particular installation of LLVM. - Run
make
to build the compiler.
The build will produce a program called blissc in your build
directory. Run ./blissc --help
for a description of the arguments
and options.
All sources are released under the BSD 2-clause license. See the LICENSE.TXT file for the license text.