Skip to content

BingjieGao/Loyc

 
 

Repository files navigation

README

Note: Please visit the home page at http://loyc.net

The Language of Your Choice (Loyc) project is intended to become a rich set of tools for:

  • Transforming source code between different languages
  • Writing libraries (or entire programs) in multiple programming languages
  • IDEs (code completion lists, various kinds of code visualization, intellisense)
  • Code analysis and transformation

Its subprojects include:

  • Enhanced C#: a starting point for the Loyc framework, EC# will add new operators and many other new features to C#, starting with a LISP-inspired macro system.
  • Loyc trees: a generic in-memory representation of syntax trees of any language
  • LES (Loyc Expression Syntax): a compact textual interchange format for Loyc trees
  • LeMP (Lexical Macro Processor): a LISP-style macro preprocessor that operates on Loyc trees
  • LLLPG (Loyc LL(k) Parser Generator): The parser generator being used to parse Enhanced C# and LES
  • MLSL (Multi-Language Standard Library): not yet started
  • SIL (Standard Imperative Language): not yet started

At the moment, Loyc is limited to the .NET platform. The Loyc core libraries are

  • Loyc.Essentials.dll: A .NET library to "fill in the gaps" in the .NET framework by adding numerous simple "core" classes and interfaces
  • Loyc.Collections.dll: A library of interesting data structures (references Loyc.Essentials)
  • Loyc.Syntax.dll: Contains the LNode class that represents a Loyc tree, the LES parser and printer, and recommended base classes for use with LLLPG.
  • Loyc.Utilities: Additional general-purpose classes that either have a dependency on Loyc.Collections or were not important enough to go in Loyc.Essentials

About

Loyc's core assemblies (.NET)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 89.4%
  • HTML 10.6%