Boost logo

Boost :

Subject: Re: [boost] [Spirit] Retrieve informations out of tokens
From: Andrew Hundt (athundt_at_[hidden])
Date: 2013-06-27 00:07:35


Have you considered using clang directly? It is designed and built for
exactly the purpose of using it with auto completion tools, etc.

http://clang.llvm.org/

Cheers!
Andrew Hundt

On Wed, Jun 26, 2013 at 9:22 AM, ... ... <bersac_1_at_[hidden]> wrote:

> Hi,
>
> I want to create a c++ syntax analysor (for creating auto-completion
> tools), and to help me, I want to use the boost.spirit library. In order to
> learn the basics of spirit, I executed this exercise. It is now working but
> I want to display the tokens' characters instead of counting tokens. The
> problem is I don't know the properties of the argument passed to my functor
> (the variable "t" in the code below). What is the type of this variable and
> what are the public method/attributes we can use on ?
> This is the code of my functor :
> struct counter{ counter() : j(0) {j = new int();}
> counter(const counter &model) : j(model.j) {}
> ~counter() {delete int;}
> template <typename Token> bool operator()(Token const&
> t){//I want to know the type of this variable t ++i; ++(*j);
> std::ostringstream oss; oss << "global : " << i << " membre
> : " << *j;//typeid(t).name(); printf("%s\n",
> oss.str().c_str()); return true; }
> int* j;};
> The variable t will be relay to my functor by the following tokenize
> function :
> counter* foncteur = new counter();lex::tokenize(first, last,
> word_count_functor, *foncteur);
> I still have other questions :
> I read a consistent part of the documentation but I have not been able to
> define the type of regex used by boost.spirit. Which type is it ?
> What is the more appropriate function to use to analyse c++ synthax :
> tokenize or tokenize _and_parse ? You seems to describe tokenize_and_parse
> as a more powerful tool, but is it possible to define all the syntax of c++
> using a parser ?
> Could I find an example of c++ syntax analysor using boost.spirit ?
> Any help would be appreciate,Cordialy,Guillaume Bersac237bis rue de
> Pessac33000 Bordeaux06.65.30.89.43
>
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk