Beispiel #1
0
        public PatternUst VisitPatternId([NotNull] DslParser.PatternIdContext context)
        {
            string patternId = context.GetText();
            var    result    = new PatternIdRegexToken(patternId, context.GetTextSpan());

            return(result);
        }
Beispiel #2
0
        public override PatternUst Visit(PatternIdRegexToken patternIdRegexToken)
        {
            string regexString = patternIdRegexToken.Regex.ToString();

            if (regexString.StartsWith("^") && regexString.EndsWith("$"))
            {
                string newRegexString = regexString.Substring(1, regexString.Length - 2);
                if (newRegexString.All(c => char.IsLetterOrDigit(c) || c == '_'))
                {
                    return(new PatternIdToken(
                               newRegexString,
                               patternIdRegexToken.TextSpan));
                }
            }

            return(new PatternIdRegexToken(regexString, patternIdRegexToken.TextSpan));
        }
Beispiel #3
0
 public virtual T Visit(PatternIdRegexToken patternIdRegexToken)
 {
     return(VisitChildren(patternIdRegexToken));
 }