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.