A Swift library tom generate source code for many languages
Swift
Permalink
Failed to load latest commit information.
Properties Updated to use RTL2 instead of Sugar, part two (done) Feb 13, 2017
Tests Test projects skeleton Aug 4, 2017
.gitignore Initial commit Mar 23, 2015
Base.swift Support for CGGlobalPropertyDefinition (typo fix) Sep 18, 2017
CGCPlusPlusCPPCodeGenerator.swift Support for CGGlobalPropertyDefinition Sep 15, 2017
CGCPlusPlusCodeGenerator.swift Support for CGGlobalPropertyDefinition Sep 15, 2017
CGCPlusPlusHCodeGenerator.swift Updated to use RTL2 instead of Sugar, part one Feb 10, 2017
CGCSharpCodeGenerator.swift `out`/`var` did not get emit for method *calls* on C# and Java Aug 29, 2017
CGCStyleCodeGenerator.swift Tweaks for static properties in Objective-C May 5, 2017
CGCodeGenerator.swift Support for CGGlobalPropertyDefinition Sep 15, 2017
CGDelphiCodeGenerator.swift Support for CGGlobalPropertyDefinition (typo fix) Sep 18, 2017
CGJavaCodeGenerator.swift `out`/`var` did not get emit for method *calls* on C# and Java Aug 29, 2017
CGJavaScriptCodeGenerator.swift Updated to use RTL2 instead of Sugar, part one Feb 10, 2017
CGObjectiveCCodeGenerator.swift Proper attributes on Call Parameters (implemented for PascalCG only Jun 12, 2017
CGObjectiveCHCodeGenerator.swift Tweaks for static properties in Objective-C May 5, 2017
CGObjectiveCMCodeGenerator.swift Tweaks for static properties in Objective-C May 5, 2017
CGOxygeneCodeGenerator.swift `out`/`var` did not get emit for method *calls* on C# and Java Aug 29, 2017
CGPascalCodeGenerator.swift Support for CGGlobalPropertyDefinition Sep 15, 2017
CGSkeletonCodeGenerator.swift Proper attributes on Call Parameters (implemented for PascalCG only Jun 12, 2017
CGSwiftCodeGenerator.swift Fix for how attributes get emitted, last change caused extra spaces Jul 31, 2017
CGVisualBasicNetCodeGenerator.swift Fix for how attributes get emitted, last change caused extra spaces Jul 31, 2017
CodeDomToCG4.swift Updated to use RTL2 instead of Sugar, part one Feb 10, 2017
CodeGen4.Cooper.elements Updated to use RTL2 instead of Sugar, part two (done) Feb 13, 2017
CodeGen4.Echoes.elements CG4 projects should have CrossPlatform tag Jun 19, 2017
CodeGen4.Toffee.elements CG4 projects should have CrossPlatform tag Jun 19, 2017
CodeGen4.sln Nougat->Toffee project upgrades (targets; references) Jun 30, 2016
Codegen4.Shared.elements Fixes to string wrapping for PascalCG Aug 11, 2017
Codegen4.Shared.projitems Fixes to string wrapping for PascalCG Aug 11, 2017
Expressions.swift Visibility fixes May 31, 2017
Extensions.swift Dropped FAKESUGAR define Mar 14, 2017
LICENSE.md Added license; Nullability fix for HeaderComment; CodeGeneratorForLan… Apr 1, 2015
README.md Typo Apr 4, 2015
Statements.swift Visibility fixes May 31, 2017
TypeDefinitions.swift Proper attributes on Call Parameters (implemented for PascalCG only Jun 12, 2017
TypeReferences.swift Visibility fixes May 31, 2017

README.md

CodeGen4

CodeGen4 is an open source cross-platform, language agnostic code generation engine that will drive the future code generation in RemObjects products from RemObjects SDK and Data Abstract to Elements, as well as secondary projects such as Marzipan, Oxidizer and others.

CodeGen4 is designed so that it can easily be expanded to cover additional target languages, with the implementation of one class.

Currently in very early prototype stage, and not ready for consumption, just yet. But feedback and contributions are welcome.

Implemented in Swift with RemObjects Silver.

Platform support:

CodeGen4 can be used on (i.e. linked into tools written for) the following platforms:

  • .NET, Cocoa and Java, via the Elements compiler

Language Support

  • Oxygene (mostly done)
  • C# (RemObjects C# and Visual C#) (mostly done)
  • Swift (Silver and Apple's) (mostly done)
  • Objective-C (incomplete, in progress)
  • Java (missing)
  • Delphi (mostly done)
  • C++ Builder (missing)
  • JavaScript (missing)