This page is about the development and maintenance of the Algol 68 (https://www.algol68-lang.org) front-end in GCC.

Milestones

More recent first.

Reporting bugs

Please report bugs at https://gcc.gnu.org/bugzilla, selecting the component "algol68".

Mailing Lists

IRC

* #gnualgol channel at irc.oftc.net

Git Repositories

The front-end is developed in the trunk branch of the GCC git repository.

Additionally, we use a repository in the forge, as staging area and for other purposes: https://forge.sourceware.org/gcc/gcc-a68

We use the following branches in the forge:

These branches may get rebased regularly to match the in-tree stuff. Be warned.

Building, Testing and Running

See the README file in the source distribution for instructions on how to build the ga68 compiler and run the testsuites.

Quick recipe:

$ git clone https://forge.sourceware.org/gcc/gcc-a68.git
$ cd a68-gcc
$ git checkout a68
$ ./contrib/download_prerequisites
$ mkdir build-algol68
$ cd build-algol68
$ ../configure --enable-languages=algol68
$ make
$ make pdf
$ make html
$ make check-algol68
$ make install

We can then compile and run a suitable "Hello world":

$ cat hello.a68
begin
   puts ("Hello world!'n")
end
$ ga68 hello.a68
$ ./a.out
Hello world!

The user manual for the front-end gets build, in different formats, in:

build-algol68/gcc/doc/ga68.info
build-algol68/gcc/doc/ga68.pdf
build-algol68/gcc/HTML/gcc-15.0.0/ga68/index.html

The info version can be browsed with the standalone info reader or any other info browser of your choice:

$ info -f ga68.info

Using Autoconf

We have added support for Algol 68 to Autoconf. If you have Algol 68 programs in your project, you can use the AC_PROG_A68 macro in configure.ac. The macro looks for a working Algol 68 compiler (which basically means the GNU compiler) and sets the variable A68. For example:

AC_INIT(...)

AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([src/config.h])
AM_INIT_AUTOMAKE

AC_PROG_A68

AC_CONFIG_FILES(Makefile src/Makefile)
AC_OUTPUT

Using Automake

Automake supports Algol 68 in GCC starting with version 1.18. If you specify files with .a68 extensions as sources then Automake will build them with A68, passing A68FLAGS. For example:

AM_A68FLAGS = -fa68-nil-checking
bin_PROGRAMS = myprogram
myprogram_SOURCES = myprogram.a68

DWARF support

Development Resources

Roadmap

This section keeps track of the language features that are still to be implemented by the front-end. Once a task is completed it gets removed from the list.

Core language

Standard prelude sans transput

Environment enquiries

Monadic operators

Dyadic operators

Assigning operators

Procedures

Extensions

These are listed from more priority to least priority.

Transput

Note that most of the transput can and should be implemented in Algol 68, so this needs support for separated compilation.

None: Algol68FrontEnd (last edited 2025-11-30 02:08:26 by JoseMarchesi)