IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Parsing de fichiers RIB avec Boost.Spirit


précédentsommairesuivant

IV-B. Actions sémantiques

IV-B-1. Avant d'entamer...

actions fournies
intro à boost.phoenix.bind
helpers phoenix: construct_<T>
closure et définition de la closure utilisée pour le parsing RIB

 
Sélectionnez
    struct RibClosure : boost::spirit::closure<RibClosure, std::string>
    {
        member1 str;
    };
    
    struct Syntax : public grammar<Syntax, RibClosure::context_t>
    //...
            typedef rule<ScannerT, RibClosure::context_t> rule_t;
            // Rules...

IV-B-2. Règles générales

String

 
Sélectionnez
                ribString	= '"' >> (+(alnum_p | '.'))[ribString.str = construct_<std::string>(arg1, arg2)] >> '"';

vecteurs

 
Sélectionnez
// WIP...

IV-B-3. Options

Display

 
Sélectionnez
                display     = "Display" >> ribString[bind(&Scene::setTargetName)(var(self.scn), ribString.str)]
                                        >> ribString
                                        >> ribString;

Projection, Format

IV-B-4. Attributs

LightSource, Color, Surface, Sides

IV-B-5. Transformations

Translate, Rotate

IV-B-6. Primitives géométriques

Sphere


précédentsommairesuivant