Hej, başka bir soru:boost: ruh yeniden kuralları
Ben ortak kurallar bir dizi kullanmak çok benzer ayrıştırıcıları bir dizi yazdım. Bu kuralı <> nesnelerini birden fazla ayrıştırıcı tarafından erişilebilecekleri bir yerde saklayabilir miyim? Bunun gibi her nasılsa görünür:
rule<> nmeaStart = ch_p('$');
rule<> nmeaAddress = alnum_p() >> alnum_p() >> !alnum_p() >> !alnum_p();
rule<> nmeaDelim = ch_p(',');
rule<> nmeaHead = nmeaStart >> nmeaAddress >> nmeaDelim;
...
/* other rules. Different for each parser*/
...
rule<> nmeaChkSumStart = ch_p('*');
rule<> nmeaChkSum = int_parser<unsigned int,16,2,2>();
rule<> nmeaTail = nmeaChkSumStart >> nmeaChkSum >> eol_p;
Ben tercihen bazı sınıfın bir korumalı statik değişken içine, ortak bir yere NMEA'yı ... adında tüm kuralları koymak istiyorum
. Ruhsal dokümantasyonda dilbilgisi denilen şeyin anahtar olduğunu düşünüyorum ama dürüst olmak gerekirse bu konuda henüz pek bir şey anlamadım.
Çok teşekkürler! Şerefe!