Ruh mini_c örnek kullanarak bazı testler yaptım. Ne yazık ki beklendiği gibi operatör öncelik tutmaz: 1Operatör önceliği boost :: spirit?
Ben tanımını taşımak için çalıştı 0.
return (3 > 10) || (3 > 1);
getirilere
int main()
{
return 3 > 10 || 3 > 1;
}
değerlendirir "||" ve "& &" çok
template <typename Iterator>
expression<Iterator>::expression(
kurucuları içindedir üst ama bu bir şeyi değiştirmez için. Bu nasıl düzeltilebilir? Ben 1.3.38 artırmak kullanıyorum.
ben Boost.Spirit hiç kullanmadıysanız, ama yok tanımladığı her şeyin burada nasıl bir fark yaratabileceğini görün. İlkellerden başka bir şeyiniz yok ve yerleşik operatörlere aşırı yüklenemezsiniz. –
Bu örnekle ilgili başka bir sorum var. Belki de bunun için yardım edebilirsin? http://stackoverflow.com/questions/3591533/implementing-not-in-boostspirit-mini-c –