Esempio n. 1
0
        private string MakeTryParseCall(ISyntaxPart fromPart, ISyntaxPart calledPart, string outName)
        {
            var args = new LinkedList <string>();

            args.AddLast("lexer");

            if (calledPart is DynamicToken)
            {
                if (fromPart is Stream s)
                {
                    args.AddLast(this.MakeStringArrayInit(s.StopTokens.Select(x => x.Text)));
                }

                else
                {
                    args.AddLast("new string[] { }");
                }
            }

            args.AddLast($"out var {outName}");

            return($"this.TryParse{calledPart.GetType().Name}({string.Join(", ", args.Select(x => x))})");
        }
Esempio n. 2
0
 public SyntaxDefinitionClassInfoProvider(ISyntaxPart part)
 {
     this.part = part;
     this.Name = part.GetType().Name;
 }