Exemplo n.º 1
0
            public override bool Match(Parser p)
            {
                int pos = p.GetPos();

                if (mRule.Match(p))
                {
                    p.SetPos(pos);
                    return(false);
                }
                Trace.Assert(p.GetPos() == pos);
                return(true);
            }
Exemplo n.º 2
0
            public override bool Match(Parser p)
            {
                if (p.AtEnd())
                {
                    return(false);
                }

                var m = re.Match(p.Input, p.GetPos());

                if (m == null || m.Index != p.GetPos())
                {
                    return(false);
                }
                p.SetPos(p.GetPos() + m.Length);
                return(true);
            }
Exemplo n.º 3
0
        public PegAstNode Add(Parser p, Object label)
        {
            PegAstNode ret = new PegAstNode(p.GetPos(), msText, this, label);

            mChildren.Add(ret);
            return(ret);
        }
Exemplo n.º 4
0
            public override bool Match(Parser p)
            {
                int pos = p.GetPos();

                while (!mTerm.Match(p))
                {
                    if (!mElem.Match(p))
                    {
                        p.SetPos(pos);
                        return(false);
                    }
                }
                return(true);
            }
Exemplo n.º 5
0
            public override bool Match(Parser p)
            {
                int iter = p.GetPos();

                foreach (Rule r in mRules)
                {
                    if (!r.Match(p))
                    {
                        p.SetPos(iter);
                        return(false);
                    }
                }
                return(true);
            }
Exemplo n.º 6
0
            public override bool Match(Parser p)
            {
                if (p.AtEnd())
                {
                    return(false);
                }
                int pos = p.GetPos();

                foreach (char c in mData)
                {
                    if (p.GetChar() != c)
                    {
                        p.SetPos(pos);
                        return(false);
                    }
                    p.GotoNext();
                }
                return(true);
            }
Exemplo n.º 7
0
 public override bool Match(Parser p)
 {
     int pos = p.GetPos();
     while (!mTerm.Match(p))
     {
         if (!mElem.Match(p))
         {
             p.SetPos(pos);
             return false;
         }
     }
     return true;
 }
Exemplo n.º 8
0
 public override bool Match(Parser p)
 {
     if (p.AtEnd()) return false;
     int pos = p.GetPos();
     foreach (char c in mData)
     {
         if (p.GetChar() != c)
         {
             p.SetPos(pos);
             return false;
         }
         p.GotoNext();
     }
     return true;
 }
Exemplo n.º 9
0
 public override bool Match(Parser p)
 {
     int pos = p.GetPos();
     if (mRule.Match(p))
     {
         p.SetPos(pos);
         return false;
     }
     Trace.Assert(p.GetPos() == pos);
     return true;
 }
Exemplo n.º 10
0
 public override bool Match(Parser p)
 {
     int iter = p.GetPos();
     foreach (Rule r in mRules)
     {
         if (!r.Match(p))
         {
             p.SetPos(iter);
             return false;
         }
     }
     return true;
 }
Exemplo n.º 11
0
 public void Complete(Parser p)
 {
     mnCount = p.GetPos() - mnBegin;
 }
Exemplo n.º 12
0
 public PegAstNode Add(Parser p, Object label)
 {
     PegAstNode ret = new PegAstNode(p.GetPos(), msText, this, label);
     mChildren.Add(ret);
     return ret;
 }
Exemplo n.º 13
0
 public void Complete(Parser p)
 {
     mnCount = p.GetPos() - mnBegin;
 }