Parser.Ref<T> method (1 of 3)

Refers to another parser indirectly. This allows circular compile-time dependency between parsers.

public static IParser<T> Ref<T>(Func<IParser<T>> parserGenerator)

Remarks

Avoid left recursion, which will result in a stack overflow at runtime.

See Also


Parser.Ref<T> method (2 of 3)

Refers to another parser indirectly. This allows circular compile-time dependency between parsers.

public static IParser<T> Ref<T>(Func<IParser<T>> parserGenerator, int maxDepth)

Remarks

Fails if the total depth of all Ref parsers exceeds the specified maximum. Avoid left recursion, which will result in a stack overflow at runtime.

See Also


Parser.Ref<T> method (3 of 3)

Refers to another parser indirectly. This allows circular compile-time dependency between parsers.

public static IParser<T> Ref<T>(Func<IParser<T>> parserGenerator, int maxDepth, 
    string maxDepthFailureName)

Remarks

Fails with the specified named failure if the total depth of all Ref parsers exceeds the specified maximum. Avoid left recursion, which will result in a stack overflow at runtime.

See Also