hsauro / LLVM-Simple-Calculator

Repository from Github https://github.comhsauro/LLVM-Simple-CalculatorRepository from Github https://github.comhsauro/LLVM-Simple-Calculator

This project implements a simple calculator using Object Pascal and llvm.

The project was created by Claude based on the following prompt:

"Can you create a simple calculator that takes as input numerical expressions such as "2+3/5" and outputs the result. The code should be written using Delphi object pascal and must use LLVM to create the evaluator. You can use the Delphi bindings to LLVM that I have attached"

I created this project to help me understand how to use LLVM from within Object Pascal.

The code uses the libLLVM library by Jarrod Davis which can be found here

https://github.com/tinyBigGAMES/libLLVM

To quote the libllvm readme:

"libLLVM brings the full power of LLVM's compilation infrastructure directly to Delphi, providing native bindings for code generation, optimization, and linking with clean, Pascal-style integration."

This simple calculator project illustrates how one can use libllvm to easily create a high performance llvm backend. Jarrod uses an interesting approach for dealing with the llvm dependency, He stores the llvm Dll as a Delphi resource file which is accessed internally by the executable. This means no separate DLLs need to be deployed with the final executable.

About


Languages

Language:Pascal 100.0%