LeMP & LLLPG: Working Really Smoothly Now
- Unveiled the Macro Reference Manual
- Added macros:
includeFile
(aka#include
),#set
(aka#setScopedProperty
),#snippet
(aka#setScopedPropertyQuote
),#get
(aka#getScopedProperty
), andreplacePP
(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
toon_throw_catch
so that it's made of keywords. - Code contracts:
- Introduced
[ensuresFinally]
, which checks a postcondition infinally
- Changed Contract Attribute error messages to match MS Code Contracts
- Code contract attributes now support lambda functions
- Introduced
- 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 forIReadOnlyDictionary
. - 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.