我正在寫一個lexigraphical分析器。它需要一個英文字符串,並將其轉換爲一組緯度/經度座標。這有點像谷歌地球。boost :: spirit :: qi和亂序變量
不管怎麼說,我寫我的符號表和語法,它高興地解析格式的數據。
struct LatLongDegrees
{
std::string dirLat_;
double degLat_;
std::string dirLong_;
double degLong_;
}
例如:{ 「北」,23.59, 「東」,-30.82}
這裏是我的語法:
basic =(latitude >> ' ' >> double_ >> ' ' >> longitude >> ' ' >> double_);
其中經線和緯線是從地圖符號表速記羅盤方向爲字符串(例如,「E」,以「東」)
所以,關於我的問題:
我想下面的規則添加到我的語法,這裏的緯度和經度符號相反的位置:
reversed = (longitude >> ' ' >> double_ >> ' ' >> latitude >> double_)
這種分析,但degLat_和degLong_值不與字符串值一起反轉。它們只是直接解析到結構中,而不考慮字符串標籤。
如何建立一個結構(或升壓::融合表達載體)時,要分析的數據不連續?