Esempio n. 1
0
 public QuantifierEntry(TokenPrimitiveEntry primitiveEntry, QuantifierKind kind, QuantifierMode mode)
 {
     PrimitiveEntry = primitiveEntry;
     Kind           = kind;
     Mode           = mode;
     Range          = QuantifierHelper.GetRange(kind);
 }
Esempio n. 2
0
 public TokenInterQuantifier(TokenInterPrimitiveEntry primitiveEntry, Interval <int> range, QuantifierMode mode)
 {
     PrimitiveEntry = primitiveEntry;
     Kind           = QuantifierHelper.GetKind(range);
     Range          = range;
     Mode           = mode;
 }
Esempio n. 3
0
 public TokenInterQuantifier(TokenInterPrimitiveEntry primitiveEntry, QuantifierKind kind, QuantifierMode mode = QuantifierMode.Greedy)
 {
     PrimitiveEntry = primitiveEntry;
     Range          = QuantifierHelper.GetRange(kind);
     Kind           = kind;
     Mode           = mode;
 }
 public ParserQuantifierEntry(ParserPrimitiveEntry primitiveEntry, QuantifierKind kind, QuantifierMode mode)
 {
     PrimitiveEntry = primitiveEntry;
     Kind           = kind;
     Range          = QuantifierHelper.GetRange(kind);
     Mode           = mode;
 }
Esempio n. 5
0
 private QuantifierEntry(PrimitiveEntry primitiveEntry, QuantifierKind kind, QuantifierMode mode, int maximum, int minimum)
 {
     Kind           = kind;
     Mode           = mode;
     PrimitiveEntry = primitiveEntry;
     Maximum        = maximum;
     Minimum        = minimum;
 }
Esempio n. 6
0
            public TokenInterQuantifier OneOrMore(QuantifierMode mode = QuantifierMode.Greedy)
            {
                if (Mode == mode && mode == QuantifierMode.Greedy && QuantifierHelper.CanCollapse(Kind, QuantifierKind.OneOrMore))
                {
                    return(new TokenInterQuantifier(PrimitiveEntry, QuantifierHelper.Collapse(Kind, QuantifierKind.OneOrMore), Mode));
                }

                return(new TokenInterQuantifier(AsFragment(), QuantifierKind.OneOrMore, mode));
            }
Esempio n. 7
0
            public QuantifierEntry(PrimitiveEntry primitiveEntry, Interval <int> range, QuantifierMode mode)
            {
                PrimitiveEntry = primitiveEntry;
                Kind           = QuantifierHelper.GetKind(range);
                Mode           = mode;

                Minimum = range.Minimum;
                Maximum = range.Maximum;
            }
            public ParserQuantifierEntry ZeroOrMore(QuantifierMode mode = QuantifierMode.Greedy)
            {
                if (Mode == mode && mode == QuantifierMode.Greedy && QuantifierHelper.CanCollapse(Kind, QuantifierKind.ZeroOrMore))
                {
                    return(new ParserQuantifierEntry(PrimitiveEntry, QuantifierHelper.Collapse(Kind, QuantifierKind.ZeroOrMore), Mode));
                }

                return(new ParserQuantifierEntry(AsFragment(), QuantifierKind.ZeroOrMore, mode));
            }
Esempio n. 9
0
            private ParserProductionBuilder CreateQuantifier(QuantifierKind kind, QuantifierMode mode)
            {
                var parserRule = new ParserRule
                {
                    IsInline = true
                };

                parserRule.Productions.Add(new ParserProduction(CreateArray()));

                return(new ParserProductionBuilder(new ParserQuantifierEntry(new ParserRuleEntry(parserRule), kind, mode)));
            }
Esempio n. 10
0
            public QuantifierEntry(PrimitiveEntry primitiveEntry, QuantifierKind kind, QuantifierMode mode)
            {
                PrimitiveEntry = primitiveEntry;
                Kind           = kind;
                Mode           = mode;

                var range = QuantifierHelper.GetRange(kind);

                Minimum = range.Minimum;
                Maximum = range.Maximum;
            }
 public QuantifierEntry OneOrMore(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new QuantifierEntry(new TokenFragmentEntry(new TokenFragment(this)), QuantifierKind.OneOrMore, mode));
 }
Esempio n. 12
0
 public ParserQuantifierEntry Between(int from, int to, QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(AsFragment(), QuantifierHelper.Between(from, to), mode));
 }
Esempio n. 13
0
 public QuantifierEntry Between(int from, int to, QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new QuantifierEntry(new TokenFragmentEntry(this), QuantifierHelper.Between(from, to), mode));
 }
 public QuantifierEntry ZeroOrOne(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new QuantifierEntry(new TokenFragmentEntry(new TokenFragment(this)), QuantifierKind.ZeroOrOne, mode));
 }
Esempio n. 15
0
 public ParserProductionBuilder OneOrMore(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(CreateQuantifier(QuantifierKind.OneOrMore, mode));
 }
Esempio n. 16
0
 public TokenInterQuantifier Exact(int count, QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new TokenInterQuantifier(AsFragment(), QuantifierHelper.Exact(count), mode));
 }
Esempio n. 17
0
 public ParserQuantifierEntry ZeroOrOne(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(AsFragment(), QuantifierKind.ZeroOrOne, mode));
 }
Esempio n. 18
0
 public QuantifierEntry Exact(int count, QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new QuantifierEntry(new TokenFragmentEntry(this), QuantifierHelper.Exact(count), mode));
 }
Esempio n. 19
0
 public ParserQuantifierEntry Exact(int count, QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(AsFragment(), QuantifierHelper.Exact(count), mode));
 }
Esempio n. 20
0
 public ParserQuantifierEntry ZeroOrMore(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(this, QuantifierKind.ZeroOrMore, mode));
 }
Esempio n. 21
0
 public ParserQuantifierEntry AtLeast(int count, QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(this, QuantifierHelper.AtLeast(count), mode));
 }
Esempio n. 22
0
 public QuantifierEntry ZeroOrOne(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new QuantifierEntry(this, QuantifierKind.ZeroOrOne, mode));
 }
Esempio n. 23
0
 public QuantifierEntry OneOrMore(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new QuantifierEntry(this, QuantifierKind.OneOrMore, mode));
 }
Esempio n. 24
0
 public ParserQuantifierEntry OneOrMore(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(AsFragment(), QuantifierKind.OneOrMore, mode));
 }
Esempio n. 25
0
 public ParserQuantifierEntry OneOrMore(QuantifierMode quantifierMode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(new ParserRuleEntry(this), QuantifierKind.OneOrMore, quantifierMode));
 }
Esempio n. 26
0
                public ParserQuantifierEntry(Grammar <TToken> .ParserQuantifierEntry grammarEntry, PrimitiveEntry primitiveEntry, Interval <int> range, QuantifierMode mode) : base(primitiveEntry, range, mode)
                {
                    var name = EnsureName(grammarEntry);

                    if (name == null)
                    {
                        return;
                    }

                    var primitiveEntryData = ((IParserEntry)PrimitiveEntry).ParserEntryData;

                    primitiveEntryData.Name = name;
                }
Esempio n. 27
0
 public TokenInterQuantifier Between(int from, int to, QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new TokenInterQuantifier(AsFragment(), QuantifierHelper.Between(from, to), mode));
 }
Esempio n. 28
0
 public TokenInterQuantifier ZeroOrOne(QuantifierMode mode = QuantifierMode.Greedy)
 {
     return(new TokenInterQuantifier(AsFragment(), QuantifierKind.ZeroOrOne, mode));
 }
Esempio n. 29
0
 public ParserQuantifierEntry ZeroOrOne(QuantifierMode quantifierMode = QuantifierMode.Greedy)
 {
     return(new ParserQuantifierEntry(new ParserRuleEntry(this), QuantifierKind.ZeroOrOne, quantifierMode));
 }