Skip to content

LeMP & LLLPG: Working Really Smoothly Now

Compare
Choose a tag to compare
@qwertie qwertie released this 23 Mar 01:12
· 621 commits to master since this release
  • Unveiled the Macro Reference Manual
  • Added macros: includeFile (aka #include), #set (aka #setScopedProperty), #snippet (aka #setScopedPropertyQuote), #get (aka #getScopedProperty), and replacePP (replace plus preprocessing of initial parameters).
  • MacroProcessorTask introduces two global-scoped Symbols, #inputFolder and #inputFile.
  • Eliminated #haveContractRewriter and #setAssertMethod macros, since you can now just use #set #haveContractRewriter and #snippet #assertMethod = AssertMethod;
  • Renamed on_error_catch to on_throw_catch so that it's made of keywords.
  • Code contracts:
    • Introduced [ensuresFinally], which checks a postcondition in finally
    • Changed Contract Attribute error messages to match MS Code Contracts
    • Code contract attributes now support lambda functions
  • Changed public interface of LeMP.Compiler to make it a bit more flexible and easier to use
  • ParsingService: added global language "registration" feature.
  • Loyc.Essentials: added TryGetValue extension method for IReadOnlyDictionary.
  • Misc., e.g. renamed some members of Loyc.Ecs.Parser.TokenType
  • Bug fix to IMacroContext: made macro dictionary fully immutable

Instructions: Please extract the zip file to its own folder. Run mono LeMP.exe --editor to try it out on Linux. To use in Visual Studio, run LoycFileGeneratorForVs.exe to install VS Custom Tool, and run LoycSyntaxForVs.vsix to install the syntax highlighter.