Bonjour la liste, J'utilise carburetta https://carburetta.com/ comme generateur d'analyseur lexical et syntaxique.
Cet outil est très pratique, libre et facilement compilable sur Debian. Mais il requiert (à mon grand regret) en entrée un fichier avec (en plein d'endroits) une seule ligne logique en C++ par exemple voir le fichier https://github.com/RefPerSys/RefPerSys/blob/master/carbrepl_rps.cbrt et plus particulièrement dans le commit 96d25ff0bada41 de RefPerSys par exemple les lignes 160 à 169 du fichier carbrepl_rps.cbrt Le code C++ généré par carburetta (j'en utilise la version 0.8.28) contient les memes lignes logiques longues, par exemple #line 169 "carbrepl_rps.cbrt" { _Pragma("message \"token_action for INT\""); \ (stack->sym_data_->v_.uv0_) = carbdata.cardata_i; \ RPS_DEBUG_LOG(REPL, "token_action for INT tksrc=" << *tksrc \ << " cardata_i=" << carbdata.cardata_i); \ RPS_FATALOUT("INT token_action is incomplete tksrc=" \ << tksrc << " sym=" << sym \ << ":" << RPS_CARBREPL_SYMBOL_NAME(sym) \ << RPS_FULL_BACKTRACE(1, "token_action INT")); \ } #line 3484 "_carbrepl_rps.cc" mais les antislashs finaux en ligne physique m'indisposent, et je cherche un outil (filtre Linux) pour les enlever. Les conventions lexicales de C++ sont dans le détail très complexes, donc coder un tel filtre me parait compliqué Librement -- Basile STARYNKEVITCH <[email protected]> 8 rue de la Faïencerie http://starynkevitch.net/Basile/ 92340 Bourg-la-Reine https://github.com/bstarynk France https://github.com/RefPerSys/RefPerSys https://orcid.org/0000-0003-0908-5250

