From Newsgroup: comp.compilers
This is a very old idea, dating back to UNCOL in the late 1950s.
Invent a universal intermediate language so you just have to write a front
end or back end per input or output language. It works somewhat when the inputs and outputs are semantically close enough, viz the LLVM
intermediate language, but has always hit the wall when the languages are
too different.
https://arxiv.org/abs/2508.21256
Abstract
We present CrossTL, a universal programming language translator enabling bidirectional translation between multiple languages through a unified intermediate representation called CrossGL. Traditional approaches require separate translators for each language pair, leading to exponential
complexity growth. CrossTL uses a single universal IR to facilitate translations between CUDA, HIP, Metal, DirectX HLSL, OpenGL GLSL, Vulkan SPIR-V, Rust, and Mojo, with Slang support in development. Our system
consists of: language-specific lexers/parsers converting source code to
ASTs, bidirectional CrossGL translation modules implementing
ToCrossGLConverter classes for importing code and CodeGen classes for
target generation, and comprehensive backend implementations handling full translation pipelines. We demonstrate effectiveness through comprehensive evaluation across programming domains, achieving successful compilation
and execution across all supported backends. The universal IR design
enables adding new languages with minimal effort, requiring only language-specific frontend/backend components. Our contributions include:
(1) a unified IR capturing semantics of multiple programming paradigms,
(2) a modular architecture enabling extensibility, (3) a comprehensive framework supporting GPU compute, graphics programming, and systems
languages, and (4) empirical validation demonstrating practical viability
of universal code translation. CrossTL represents a significant step
toward language-agnostic programming, enabling write-once,
deploy-everywhere development.
Regards,
John Levine,
johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail.
https://jl.ly
--- Synchronet 3.21a-Linux NewsLink 1.2