Represents a reference to another expression by name.
Inheritance: Expression
コード例 #1
0
 protected override void WalkNameExpression(NameExpression nameExpression)
 {
     var name = nameExpression.Identifier.Name;
     if (this.usedRules.Add(name))
     {
         this.rulesToVisit.Enqueue(name);
     }
 }
コード例 #2
0
 protected override void WalkNameExpression(NameExpression nameExpression)
 {
     var name = nameExpression.Identifier.Name;
     if (!this.knownRules.Contains(name))
     {
         var cursor = nameExpression.Identifier.Start;
         this.result.AddCompilerError(cursor, () => Resources.PEG0003_ERROR_RuleDoesNotExist, name);
     }
 }
コード例 #3
0
 protected virtual void WalkNameExpression(NameExpression nameExpression)
 {
 }
コード例 #4
0
 protected override void WalkNameExpression(NameExpression nameExpression)
 {
     var rule = this.rules[nameExpression.Identifier.Name];
     this.Set(nameExpression, rule.Expression, type => type.ToString());
 }
コード例 #5
0
 protected override void WalkNameExpression(NameExpression nameExpression)
 {
     bool? result;
     this.containsAssertions.TryGetValue(this.rules[nameExpression.Identifier.Name].Expression, out result);
     this.containsAssertions[nameExpression] = result;
 }
コード例 #6
0
ファイル: CodeGenerator.cs プロジェクト: otac0n/Pegasus
 protected override void WalkNameExpression(NameExpression nameExpression) => this.RenderNameExpression(nameExpression, this.writer, this.currentIndentation);
コード例 #7
0
 protected override void WalkNameExpression(NameExpression nameExpression)
 {
     bool? result;
     this.zeroWidth.TryGetValue(this.rules[nameExpression.Identifier.Name].Expression, out result);
     this.zeroWidth[nameExpression] = result;
 }