示例#1
0
 /// <summary>
 /// Creates a new <see cref="InlinedLiteralStringTokenItem"/> with the
 /// <paramref name="source"/>, and <paramref name="parent"/> provided.
 /// </summary>
 /// <param name="source">The <see cref="ILiteralStringTokenItem"/> from which
 /// the <see cref="InlinedLiteralStringTokenItem"/> is derived.</param>
 /// <param name="sourceRoot">The <see cref="IOilexerGrammarTokenEntry"/> which contains
 /// the <paramref name="source"/>.</param>
 /// <param name="root">The <see cref="InlinedTokenEntry"/> which roots the entire
 /// token structure.</param>
 public InlinedLiteralStringTokenItem(ILiteralStringTokenItem source, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root)
     : base(source.Value, source.CaseInsensitive, source.Column, source.Line, source.Position, source.SiblingAmbiguity)
 {
     this.SourceRoot       = sourceRoot;
     this.Source           = source;
     this.Root             = root;
     this.SiblingAmbiguity = source.SiblingAmbiguity;
     this.RepeatOptions    = source.RepeatOptions;
     this.Name             = source.Name;
 }
 public InlinedCharRangeTokenItem(ICharRangeTokenItem source, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root)
     : base(source.Inverted, source.Range, source.Line, source.Column, source.Position)
 {
     this.Source           = source;
     this.SourceRoot       = sourceRoot;
     this.Root             = root;
     this.RepeatOptions    = source.RepeatOptions;
     this.Name             = source.Name;
     this.SiblingAmbiguity = source.SiblingAmbiguity;
 }
 public InlinedScanCommandTokenItem(IScanCommandTokenItem source, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root, IDictionary <ITokenItem, ITokenItem> oldNewLookup)
     : base(OilexerGrammarInliningCore.Inline(source.SearchTarget, sourceRoot, root, oldNewLookup), source.SeekPast, source.Column, source.Line, source.Position)
 {
     this.Source           = source;
     this.SourceRoot       = sourceRoot;
     this.Root             = root;
     this.RepeatOptions    = source.RepeatOptions;
     this.SiblingAmbiguity = source.SiblingAmbiguity;
     this.Name             = source.Name;
 }
 /// <summary>
 /// Creates a new <see cref="InlinedTokenExpressionSeries"/> with the
 /// <paramref name="source"/>, <paramref name="sourceRoot"/> and
 /// <paramref name="root"/>
 /// </summary>
 /// <param name="source">The <see cref="TokenExpressionSeries"/> from which the current
 /// <see cref="InlinedTokenExpressionSeries"/> derives.</param>
 /// <param name="sourceRoot">The <see cref="IOilexerGrammarTokenEntry"/> which contains the
 /// <paramref name="source"/>.</param>
 /// <param name="root">The <see cref="InlinedTokenEntry"/> which contains the <see cref="InlinedTokenExpressionSeries"/>.</param>
 public InlinedTokenExpressionSeries(ITokenExpressionSeries source, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root, IDictionary <ITokenItem, ITokenItem> oldNewLookup)
     : base(OilexerGrammarInliningCore.Inline(source.ToArray(), sourceRoot, root, oldNewLookup), source.Line, source.Column, source.Position, source.FileName)
 {
     this.Source     = source;
     this.SourceRoot = SourceRoot;
     this.Root       = root;
 }
 /// <summary>
 /// Creates a new <see cref="InlinedTokenExpression"/> from
 /// the <paramref name="source"/> provided.
 /// </summary>
 /// <param name="source">The <see cref="TokenExpression"/> from which the
 /// <see cref="InlinedTokenExpression"/> is derived.</param>
 public InlinedTokenExpression(ITokenExpression source, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root, IDictionary <ITokenItem, ITokenItem> oldNewLookup)
     : base(OilexerGrammarInliningCore.Inline((IControlledCollection <ITokenItem>)source, sourceRoot, root, oldNewLookup), source.FileName, source.Column, source.Line, source.Position)
 {
     this.Source = source;
 }
示例#6
0
 public InlinedLiteralStringReferenceTokenItem(ILiteralStringReferenceTokenItem source, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root)
     : base(source.Literal.Value, source.Literal.CaseInsensitive, source.Column, source.Line, source.Position, source.Literal.SiblingAmbiguity)
 {
     this.Source        = source;
     this.SourceRoot    = sourceRoot;
     this.Root          = root;
     this.RepeatOptions = source.RepeatOptions;
     if (!string.IsNullOrEmpty(source.Name))
     {
         this.Name = source.Name;
     }
     else
     {
         this.Name = source.Literal.Name;
     }
     this.SiblingAmbiguity = source.SiblingAmbiguity;
 }
示例#7
0
 public InlinedTokenGroupItem(ITokenGroupItem source, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root, IDictionary <ITokenItem, ITokenItem> oldNewLookup)
     : base(source.FileName, OilexerGrammarInliningCore.Inline(source.ToArray(), sourceRoot, root, oldNewLookup), source.Column, source.Line, source.Position)
 {
     this.Source           = source;
     this.SourceRoot       = sourceRoot;
     this.Root             = root;
     this.RepeatOptions    = source.RepeatOptions;
     this.Name             = source.Name;
     this.SiblingAmbiguity = source.SiblingAmbiguity;
 }
 public InlinedBaseEncodeGraphCommand(IBaseEncodeGraphCommand source, OilexerGrammarTokens.StringLiteralToken stringBase, IOilexerGrammarTokenEntry sourceRoot, InlinedTokenEntry root, IDictionary <ITokenItem, ITokenItem> oldNewLookup)
     : base(OilexerGrammarInliningCore.Inline(source.EncodeTarget, sourceRoot, root, oldNewLookup), stringBase, source.Digits, source.Column, source.Line, source.Position)
 {
     this.Source           = source;
     this.SourceRoot       = sourceRoot;
     this.Root             = root;
     this.RepeatOptions    = source.RepeatOptions;
     this.Name             = source.Name;
     this.SiblingAmbiguity = source.SiblingAmbiguity;
 }