Skip to content

lcsirmaz/aleph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aleph

Modular ALEPH programming language v2

Aleph is a historical programming language; its name is an abbreviation for A Language Encouraging Program Hiearachy. This is an Aleph to C complier written in Aleph.

Files with extension .ale are Aleph source files.

  • C The C code of the compiler and the linker as generated by the Aleph compiler
  • comp Modules of the compiler (Aleph source)
  • link Modules of the linker producing the target C file (Aleph source)
  • stdlib Aleph standard library files
  • stdice Aleph ice library files
  • stdcore core and stdlib C programs and headers
  • doc Aleph Manual and some implementation details
  • sample Sample Aleph programs
  • joe Joe syntax highlighter for Aleph programs with .ale extension

Compiling the Aleph - C compiler

Compile the acomp.c and alink.c files in the C directory:

gcc -W -O3 -I ../stdcore -o acomp acomp.c ../stdcore/*.c
gcc -W -O3 -I ../stdcore -o alink alink.c ../stdcore/*.c

Compiling, linking and running aleph files

The acomp program produces .ice files from Aleph modules and the main Aleph file. Linking '.ice' files is done by alink, which also generates a C program. The additional header and C files needed to compile the generated C program are in the directory stdcore.

The directory containing standard library files can be given after the -L argument; these are stdlib and stdice for the compiler and the linker, respectively. The following commands, given in the main directory, compile, link, and run the ex2.ale sample program from the sample directory.

C/acomp -L stdlib sample/ex2  # generate ex2.ice
C/alink -o ex2 -L stdice ex2  # generate ex2.c
gcc -W -I stdcore -o ex2 ex2.c stdcore/*.c
./ex2                         # run it

About

Aleph programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published