SEASON OF KDE 2020 ( WEEKLY PROGRESS : Week 2-3 ).
After having published the grammer of KML file format, the task was to implement one parser with all the rules followed from the grammer in the previous post. I wrote a sample impl, as given below : #include "typenames.h" #include<boost/spirit/include/qi.hpp> #include <boost/spirit/include/phoenix1_operators.hpp> #include<bits/stdc++.h> namespace KmlParser{ namespace qi = boost::spirit::qi; namespace ascii = boost::spirit::ascii; // qi grammer template usage is defined here : // https://www.boost.org/doc/libs/1_53_0/libs/spirit/doc/html/spirit/qi/reference/nonterminal/grammar.html template <typename Iterator> struct kmlprsr_grammer : boost::spirit::qi::grammar<Iterator, unsigned()>{ kmlprsr_grammer() : kmlprsr_grammer::base_type(start){ using qi::int_; using qi::string; using qi::char_; // the grammer as discussed is posted here: // https://sbalikond