Esempio n. 1
0
        public bool Number()    /*Number
                                 * { //semantic rule related block using C# as host language
                                 * string sNumber;
                                 * bool store_(){double.TryParse(sNumber,out result);return true;}
                                 * }
                                 * :  ([0-9]+ ('.' [0-9]+)?):sNumber store_	;*/
        {
            var _sem = new _Number(this);

            var result = And(() =>
                             Into(() =>
                                  And(() =>
                                      PlusRepeat(() => In('0', '9')) &&
                                      Option(() =>
                                             And(() =>
                                                 Char('.') &&
                                                 PlusRepeat(() => In('0', '9'))))), out _sem.sNumber) &&
                             _sem.store_()); return(result);
        }
Esempio n. 2
0
        public bool Number()    /*Number
                                 * { //semantic rule related block using C# as host language (block can be implemented as nested struct)
                                 * internal _Number(calc0_direct parent){parent_=parent;}
                                 * calc0_direct parent_;
                                 * internal string sNumber;
                                 * internal bool store_(){double.TryParse(sNumber,out parent_.top.result);return true;}
                                 * }
                                 * :  ([0-9]+ ('.' [0-9]+)?):sNumber store_	;*/
        {
            var _sem = new _Number(this);

            return(And(() =>
                       Into(() =>
                            And(() =>
                                PlusRepeat(() => In('0', '9')) &&
                                Option(() =>
                                       And(() =>
                                           Char('.') &&
                                           PlusRepeat(() => In('0', '9'))))), out _sem.sNumber) &&
                       _sem.store_()));
        }
Esempio n. 3
0
        public bool Number()    /*Number
{ //semantic rule related block using C# as host language (block can be implemented as nested struct)
        internal _Number(calc0_direct parent){parent_=parent;}
        calc0_direct parent_;
	internal string sNumber;
	internal bool store_(){double.TryParse(sNumber,out parent_.top.result);return true;}
}
	:  ([0-9]+ ('.' [0-9]+)?):sNumber store_	;*/
        {

             var _sem= new _Number(this);

           return And(()=>  
                     Into(()=>    
                      And(()=>      
                               PlusRepeat(()=> In('0','9') )
                            && Option(()=>        
                                    And(()=>          
                                                 Char('.')
                                              && PlusRepeat(()=> In('0','9') ) ) ) ),out _sem.sNumber)
                  && _sem.store_() );
		}
        /*Number
        { //semantic rule related block using C# as host language
        string sNumber;
        bool store_(){double.TryParse(sNumber,out result);return true;}
        }
        :  ([0-9]+ ('.' [0-9]+)?):sNumber store_	;*/
        public bool Number()
        {
            var _sem= new _Number(this);

               return And(()=>
                     Into(()=>
                      And(()=>
                               PlusRepeat(()=> In('0','9') )
                            && Option(()=>
                                    And(()=>
                                                 Char('.')
                                              && PlusRepeat(()=> In('0','9') ) ) ) ),out _sem.sNumber)
                  && _sem.store_() );
        }
Esempio n. 5
0
        public bool Number()    /*Number
{ //semantic rule related block using C# as host language 
   string sNumber;
   bool store_(){double.TryParse(sNumber,out result);return true;}
}
	:  ([0-9]+ ('.' [0-9]+)?):sNumber store_	;*/
        {

             var _sem= new _Number(this);

           return And(()=>  
                     Into(()=>    
                      And(()=>      
                               PlusRepeat(()=> In('0','9') )
                            && Option(()=>        
                                    And(()=>          
                                                 Char('.')
                                              && PlusRepeat(()=> In('0','9') ) ) ) ),out _sem.sNumber)
                  && _sem.store_() );
		}