|
Enhanced C#
Language of your choice: library documentation
|
Namespaces | |
| package | Parser |
| Enhanced C# parser | |
Classes | |
| class | EcsLanguageService |
| The Value property provides easy access to the lexer, parser and printer for Enhanced C#. More... | |
| class | EcsNodePrinter |
| Prints a Loyc tree to EC# source code. More... | |
| class | EcsNodePrinterTests |
| EC# node printer tests | |
| class | EcsParserTests |
| EC# parser tests | |
| class | EcsPrecedence |
| Contains Precedence objects that represent the precedence rules of EC#. More... | |
| class | EcsPrinterAndParserTests |
| class | EcsValidators |
A class filled with methods for checking whether a node has the correct LNode.Name and structure. For example, IsPropertyDefinition(node) checks whether node meets the requirements for being a property definition, such as having a Name equal to #property, and having name and return value that are complex identifiers. More... | |
Enumerations | |
| enum | ICI { Default = 0, AllowAttrs = 2, DisallowOf = 8, DisallowDotted = 16, InOf = 32, AllowAnyExprInOf = 64, NameDefinition = 128, AllowParensAround = 256, ExprMode = 512 } |
| Flags for EcsNodePrinter.IsComplexIdentifier. More... | |
| enum | SpaceOpt { Default, AfterComma = 0x00000002, AfterCommaInOf = 0x00000004, AfterCast = 0x00000008, AfterCastArrow = 0x00000010, AfterAttribute = 0x00000020, InsideParens = 0x00000080, InsideCallParens = 0x00000100, InsideAttribute = 0x00000200, OutsideParens = 0x00000400, BeforeKeywordStmtArgs = 0x00000800, BeforePossibleMacroArgs = 0x00001000, BeforeMethodCall = 0x00002000, BeforeNewCastCall = 0x00004000, BeforeNewInitBrace = 0x00008000, AfterColon = 0x00010000, InsideNewInitializer = 0x00020000, BeforeBaseListColon = 0x00040000, BeforeWhereClauseColon = 0x00080000, BeforeConstructorColon = 0x00100000, BeforeMethodDeclArgList = 0x00200000, BeforeForwardArrow = 0x00400000, AfterOperatorKeyword = 0x00800000, MissingAfterComma = 0x01000000, BeforeCommentOnSameLine = 0x04000000, BetweenCommentAndNode = 0x08000000, SuppressAroundDotDot = 0x10000000 } |
| Controls the locations where spaces appear as EcsNodePrinter is printing. More... | |
| enum | NewlineOpt { Default, BeforeSpaceDefBrace = 0x000001, BeforeMethodBrace = 0x000002, BeforePropBrace = 0x000004, BeforeGetSetBrace = 0x000008, BeforeSimpleStmtBrace = 0x000020, BeforeExecutableBrace = 0x000010, BeforeSingleSubstmt = 0x000080, BeforeOpenBraceInExpr = 0x000100, BeforeCloseBraceInExpr = 0x000200, AfterCloseBraceInExpr = 0x000400, BeforeOpenBraceInNewExpr = 0x000800, AfterOpenBraceInNewExpr = 0x001000, BeforeCloseBraceInNewExpr = 0x002000, AfterCloseBraceInNewExpr = 0x004000, AfterEachInitializerInNew = 0x008000, AfterAttributes = 0x010000, BeforeWhereClauses = 0x020000, BeforeEachWhereClause = 0x040000, BeforeIfClause = 0x080000, AfterEachEnumValue = 0x100000, BeforeConstructorColon = 0x200000 } |
| enum Loyc.Ecs.ICI |
Flags for EcsNodePrinter.IsComplexIdentifier.
| enum Loyc.Ecs.SpaceOpt |
Controls the locations where spaces appear as EcsNodePrinter is printing.
Note: Spaces around prefix and infix operators are controlled by EcsNodePrinter.SpaceAroundInfixStopPrecedence and EcsNodePrinter.SpaceAfterPrefixStopPrecedence.
1.8.7