PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

TXL

TXL

TXL is a pl created in 1985 by James Cordy.

#427on PLDB 37Years Old 265Users
0Books 0Papers 69Repos

TXL is a special-purpose programming language originally designed by Charles Halpern-Hamu and James Cordy at the University of Toronto in 1985. The acronym "TXL" originally stood for "Turing eXtender Language" after the language's original purpose, the specification and rapid prototyping of variants and extensions of the Turing programming language, but no longer has any meaningful interpretation. Modern TXL is specifically designed for creating, manipulating and rapidly prototyping language-based descriptions, tools and applications using source transformation. Read more on Wikipedia...


Example from Linguist:
% Calculator.Txl - simple numerical expression evaluator % Part I. Syntax specification define program [expression] end define define expression [term] | [expression] [addop] [term] end define define term [primary] | [term] [mulop] [primary] end define define primary [number] | ( [expression] ) end define define addop '+ | '- end define define mulop '* | '/ end define % Part 2. Transformation rules rule main replace [expression] E [expression] construct NewE [expression] E [resolveAddition] [resolveSubtraction] [resolveMultiplication] [resolveDivision] [resolveParentheses] where not NewE [= E] by NewE end rule rule resolveAddition replace [expression] N1 [number] + N2 [number] by N1 [+ N2] end rule rule resolveSubtraction replace [expression] N1 [number] - N2 [number] by N1 [- N2] end rule rule resolveMultiplication replace [term] N1 [number] * N2 [number] by N1 [* N2] end rule rule resolveDivision replace [term] N1 [number] / N2 [number] by N1 [/ N2] end rule rule resolveParentheses replace [primary] ( N [number] ) by N end rule
Example from Wikipedia:
function fact replace [number] n [number] construct nMinusOne [number] n [- 1] where n [> 1] construct factMinusOne [number] nMinusOne [fact] by n [* factMinusOne] end function function fact0 replace [number] 0 by 1 end function
pic-microcontroller.html 路 txl.html 路 ebnf.html

View source

PLDB - Build the next great programming language 路 v2022 Day 33 Docs Build Acknowledgements Traffic Today Traffic Trends Mirrors GitHub feedback@pldb.com