Skip to content

Automatically exported from code.google.com/p/llvm-pascal

Notifications You must be signed in to change notification settings

dtoffe/llvm-pascal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLVM-Pascal (this fork)

- Converted from Delphi project to Lazarus project.
- Delphi compatibility of the sources is not a target of this particular fork, will most likely transition to objFPC mode.
- Hopefully will upgrade LLVM dependencies and bindings to current version (v. 10 as of this commit).
- ...then, play with the language ???


===  OLD README  (roughly google-translated from Brazilian Portuguese into English  ====


LLVM-Pascal 2010.9.24 Pre-Alpha IV

Main implementation of this release: Scanner and Parser

Home: http://llvm-pascal.googlecode.com
Forum: http://groups.google.com/group/llvm-pascal
License: BSD, http://www.opensource.org/licenses/bsd-license.php

- For now, the "compilation" only does lexical and syntactic analysis.
- Compiles with any Delphi up to version XE and Free Pascal 2.4.
- Extremely small and simple sources using Object Orientation with Object Pascal.
- Compiles sources from the Delphi dialect up to the XE version, does not support operator overload in the Delphi dialect.
- Compiles Lazarus sources up to version 0.9.28.2 and Free Pascal up to version 2.4, support macros, generics, operator overloading and binary literals.
- Compiles ~148 klps (thousand lines per second) in a Intel E2200 Dual Core II 2.2 GHz with 2 GB of RAM and Windows XP SP3, compiled with Turbo Delphi, with FPC 2.4 ~98 klps.
- Part of that difference relates to functions Pos, PosEx, UpperCase and LowerCase used by the compiler, which are implemented in Assembly in Delphi and are implemented in Pascal in FPC.
- Within LLVM-Pascal those functions were substituted, only if compiled with FPC, by optimized versions in Pascal from the site FastCode, then FPC compiles ~118 klps and Turbo Delphi about ~147 klps using FastCode.
- Performance is not that good (~95 klps) in Delphi 2009/2010/XE, because our compiler is based in AnsiStrings and not in Unicode, causing lots of conversions in VCL. 
- Compile your project with LLVM-Pascal and report your questions at the fórum: http://groups.google.com/group/llvm-pascal

To compile use:

LLVM_Pascal *.pas

Command line to compare performance: LLVM_Pascal "C:\Arquivos de programas\Borland\BDS\4.0\source\*.pas" -fi"C:\Arquivos de programas\Borland\BDS\4.0\source\dunit\contrib\dunitwizard\source\common\" -v1 -vmE130,E139

About

Automatically exported from code.google.com/p/llvm-pascal

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Pascal 63.9%
  • HTML 20.0%
  • C 7.5%
  • CSS 4.9%
  • Yacc 1.9%
  • JavaScript 0.7%
  • Other 1.1%