Esempio n. 1
0
 public override void Visit(TerminalPred term)
 {
     if (_recognizerMode)
     {
         _target.Add(CGH.GenerateMatch(term.Set, false, _recognizerMode));
     }
     else if (term.Set.ContainsEverything || (term.Prematched ?? false))
     {
         _target.Add(term.AutoSaveResult(CGH.GenerateSkip(term.ResultSaver != null)));
     }
     else
     {
         _target.Add(term.AutoSaveResult(CGH.GenerateMatch(term.Set, term.ResultSaver != null, false)));
     }
 }
Esempio n. 2
0
            public override void Visit(TerminalPred term)
            {
                LNode matchExpr;
                bool  savingResult = term.ResultSaver != null && !_recognizerMode;

                if (term.Set.ContainsEverything || (term.Prematched ?? false))
                {
                    matchExpr = CGH.GenerateSkip(savingResult);
                }
                else
                {
                    matchExpr = CGH.GenerateMatch(term.Set, savingResult, _recognizerMode);
                }

                _target.Add(_recognizerMode ? matchExpr : term.AutoSaveResult(matchExpr));
            }