Set() public method

public Set ( int i ) : void
i int
return void
示例#1
0
        void SimSet(out CharSet s)
        {
            int n1, n2;

            s = new CharSet();
            if (la.kind == 1)
            {
                Get();
                CharClass c = tab.FindCharClass(t.val);
                if (c == null)
                {
                    SemErr("undefined name");
                }
                else
                {
                    s.Or(c.set);
                }
            }
            else if (la.kind == 3)
            {
                Get();
                string name = t.val;
                name = tab.Unescape(name.Substring(1, name.Length - 2));
                foreach (char ch in name)
                {
                    if (dfa.ignoreCase)
                    {
                        s.Set(char.ToLower(ch));
                    }
                    else
                    {
                        s.Set(ch);
                    }
                }
            }
            else if (la.kind == 5)
            {
                Char(out n1);
                s.Set(n1);
                if (la.kind == 22)
                {
                    Get();
                    Char(out n2);
                    for (int i = n1; i <= n2; i++)
                    {
                        s.Set(i);
                    }
                }
            }
            else if (la.kind == 23)
            {
                Get();
                s = new CharSet(); s.Fill();
            }
            else
            {
                SynErr(46);
            }
        }
示例#2
0
文件: DFA.cs 项目: omaragb/tlp182
        public CharSet Symbols(Tab tab)
        {
            CharSet s;

            if (typ == Node.clas)
            {
                s = tab.CharClassSet(sym).Clone();
            }
            else
            {
                s = new CharSet(); s.Set(sym);
            }
            return(s);
        }
示例#3
0
文件: DFA.cs 项目: omaragb/tlp182
        public void Subtract(CharSet s)
        {
            CharSet x = new CharSet();

            for (Range p = head; p != null; p = p.next)
            {
                for (int i = p.from; i <= p.to; i++)
                {
                    if (!s[i])
                    {
                        x.Set(i);
                    }
                }
            }
            head = x.head;
        }
示例#4
0
        void SimSet(out CharSet s)
        {
            int n1, n2; s = new CharSet();
            if (la.kind == 1) {
            Get();
            CharClass c = tab.FindCharClass(t.val);
              if (c == null) SemErr("undefined name"); else s.Or(c.set);

            } else if (la.kind == 3) {
            Get();
            string name = t.val;
            name = tab.Unescape(name.Substring(1, name.Length-2));
            foreach (char ch in name)
              if (dfa.ignoreCase) s.Set(char.ToLower(ch));
              else s.Set(ch);
            } else if (la.kind == 5) {
            Char(out n1);
            s.Set(n1);
            if (la.kind == 27) {
                Get();
                Char(out n2);
                for (int i = n1; i <= n2; i++) s.Set(i);
            }
            } else if (la.kind == 28) {
            Get();
            s = new CharSet(); s.Fill();
            } else SynErr(56);
        }
示例#5
0
 public void Subtract(CharSet s)
 {
     CharSet x = new CharSet();
     for (Range p = head; p != null; p = p.next)
     for (int i = p.from; i <= p.to; i++)
         if (!s[i]) x.Set(i);
     head = x.head;
 }
示例#6
0
 public CharSet Symbols(Tab tab)
 {
     CharSet s;
     if (typ == Node.clas)
     s = tab.CharClassSet(sym).Clone();
     else {
     s = new CharSet(); s.Set(sym);
     }
     return s;
 }
示例#7
0
文件: Parser.cs 项目: SealedSun/prx
	void SimSet(
#line 228 "Coco.atg" //SOURCE beg=9517,len=13,col=8
								out CharSet s
#line default //END SOURCE
) {

#line 228 "Coco.atg" //SOURCE beg=9545,len=12,col=36
																																				int n1, n2; 
#line default //END SOURCE

#line 229 "Coco.atg" //SOURCE beg=9596,len=19,col=36
																																				s = new CharSet(); 
#line default //END SOURCE
		if (la.kind == _ident) {
			Get();

#line 230 "Coco.atg" //SOURCE beg=9654,len=169,col=36
																																				CharClass c = tab.FindCharClass(t.val);
                                   if (c == null) SemErr("undefined name"); else s.Or(c.set);
                                 
#line default //END SOURCE
		} else if (la.kind == _string) {
			Get();

#line 233 "Coco.atg" //SOURCE beg=9862,len=311,col=36
																																				string name = t.val;
                                   name = tab.Unescape(name.Substring(1, name.Length-2));
                                   foreach (char ch in name)
                                     if (dfa.ignoreCase) s.Set(char.ToLower(ch));
                                     else s.Set(ch); 
#line default //END SOURCE
		} else if (la.kind == _char) {
			Char(
#line 238 "Coco.atg" //SOURCE beg=10184,len=6,col=8
								out n1
#line default //END SOURCE
);

#line 238 "Coco.atg" //SOURCE beg=10212,len=11,col=36
																																				s.Set(n1); 
#line default //END SOURCE
			if (la.kind == 23) {
				Get();
				Char(
#line 239 "Coco.atg" //SOURCE beg=10241,len=6,col=15
															out n2
#line default //END SOURCE
);

#line 239 "Coco.atg" //SOURCE beg=10262,len=41,col=36
																																				for (int i = n1; i <= n2; i++) s.Set(i); 
#line default //END SOURCE
			}
		} else if (la.kind == 24) {
			Get();

#line 241 "Coco.atg" //SOURCE beg=10347,len=29,col=36
																																				s = new CharSet(); s.Fill(); 
#line default //END SOURCE
		} else SynErr(49);
	}