Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Treelang

< >

Treelang is a programming language created in 1988.

#2380on PLDB 36Years Old
Wikipedia

Treelang is a "toy" programming language distributed with the GNU Compiler Collection (GCC) to demonstrate the features of its code-generation backend. It was developed by Tim Josling, based on a language called Toy created by Richard Kenner. During the GCC 4.3 release cycle, a patch was committed to remove the language, because of high maintenance costs outweighing its benefits and also because it was no longer considered a good front-end example by GCC developers.. Read more on Wikipedia...


Example from Wikipedia:
// function prototypes // function 'add' taking two ints and returning an int external_definition int add(int arg1, int arg2); external_definition int subtract(int arg3, int arg4); external_definition int first_nonzero(int arg5, int arg6); external_definition int double_plus_one(int arg7); external_definition int main(); // function definition add { // return the sum of arg1 and arg2 return arg1 + arg2; } subtract { return arg3 - arg4; } double_plus_one { // aaa is a variable, of type integer and allocated at the start of the function automatic int aaa; // set aaa to the value returned from add, when passed arg7 and arg7 as the two parameters aaa=add(arg7, arg7); aaa=add(aaa, aaa); aaa=subtract(subtract(aaa, arg7), arg7) + 1; return aaa; } first_nonzero { // C-like if statement if (arg5) { return arg5; } else { } return arg6; } // Like C, 'gtreelang' needs the main to be defined to create an executable. main { return double_plus_one(5); }

Language features

Feature Supported Example Token
Comments ✓ // A comment
Line Comments ✓ // A comment //
Semantic Indentation X

- Build the next great programming language · Add · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v144.0.0