private DiagramItem Transform(ANTLRv4Parser.LabeledAltContext context) { var identifier = context.identifier()?.GetText() ?? string.Empty; var alternative = context.alternative(); if (string.IsNullOrEmpty(alternative.GetText())) { return(new Terminal($"{(string.IsNullOrEmpty(identifier) ? string.Empty : identifier + " = ")} emptyString", noneString, noneString)); } return(new Sequence(alternative.element().Select(Transform).Select(FSharpChoice <DiagramItem, string> .NewChoice1Of2))); }
/// <summary> /// Exit a parse tree produced by <see cref="ANTLRv4Parser.labeledAlt"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitLabeledAlt([NotNull] ANTLRv4Parser.LabeledAltContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="ANTLRv4Parser.labeledAlt"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitLabeledAlt([NotNull] ANTLRv4Parser.LabeledAltContext context) { return(VisitChildren(context)); }