Matches in SemOpenAlex for { <https://semopenalex.org/work/W66191860> ?p ?o ?g. }
Showing items 1 to 84 of
84
with 100 items per page.
- W66191860 abstract "// T y p e s of t h e h i e r a r c h y typedef List > types; }; Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 39 Visitors Tiger use case Tiger use case Specialization of the VisitedTypes traits: // O p E x p struct VisitedTypes : public NaryNode bool visit_ (T& t) { const std :: type_info& ti = typeid (t); const char* type = ti.name (); os_ op_match; Match int_match; Combinator is_const = int_match || (op_match && all(is_const)); Visitor is_const_visitor = (is_const && *new Print(const)) || *new Print(not const); exp.accept(is_const_visitor); Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 43 Visitors Tiger use case Problems • There is a visit method for decs t (std::list ) in the Visitor interface, but no accept method in decs t • Hybrid nodes like FunctionDec act simultaneously like a list node (the list of parameters) and like a n-ary node (two children: the result and the body) Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 44 Conclusion Conclusion • Applicability • Future Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 45 Conclusion Applicability Applicability • Currently restricted to “well-formed” target AST hierarchies • Writing adapting code for complex AST is harassing and error-prone • Classical active libraries annoyances: . Slow compilation . Obfuscated code . Cryptic error messages . Compiler support Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 46 Conclusion Future Future Some possible improvements ... • constness • static concept checks • node substitutions • placeholders a la FC++: (FC++, 2002) Combinator top_down = sequence ( _1 , all (top_down (_1)))) Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 47 References References Alexandrescu, A. (2001). Modern c++ design, design patterns applied. FC++ (2002). Homepage of fc++: functional programming in c++. Gamma, Helm, Johnson, and Vlissides (1994). Design patterns, elements of reusable object-oriented software. Spirit (2001). Homepage of the spirit parser framework. standard, C. (1998). Iso iec 14882 programming languages – c++. Tisserand, N. (2003). Generic visitors in c++ (technical report). Visser, J. (2001). Visitor combination and traversal control. Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 48 References Vlissides, J. (1998). Pattern hatching: Design patterns applied. Vlissides, J. (1999). Pattern hatching visitor in frameworks. Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 49 Questions Questions Generic Visitors in C++, Nicolas Tisserand LRDE seminar, May 28, 2003 50" @default.
- W66191860 created "2016-06-24" @default.
- W66191860 creator A5022491811 @default.
- W66191860 date "2003-01-01" @default.
- W66191860 modified "2023-09-23" @default.
- W66191860 title "Generic Visitors in C" @default.
- W66191860 cites W1493439690 @default.
- W66191860 cites W1567903304 @default.
- W66191860 cites W1605034451 @default.
- W66191860 cites W1649645444 @default.
- W66191860 cites W1759628300 @default.
- W66191860 cites W1831324162 @default.
- W66191860 cites W2051096181 @default.
- W66191860 cites W2913004890 @default.
- W66191860 cites W53500718 @default.
- W66191860 hasPublicationYear "2003" @default.
- W66191860 type Work @default.
- W66191860 sameAs 66191860 @default.
- W66191860 citedByCount "0" @default.
- W66191860 crossrefType "journal-article" @default.
- W66191860 hasAuthorship W66191860A5022491811 @default.
- W66191860 hasConcept C11413529 @default.
- W66191860 hasConcept C114614502 @default.
- W66191860 hasConcept C121332964 @default.
- W66191860 hasConcept C138885662 @default.
- W66191860 hasConcept C15708023 @default.
- W66191860 hasConcept C169590947 @default.
- W66191860 hasConcept C177264268 @default.
- W66191860 hasConcept C18903297 @default.
- W66191860 hasConcept C199360897 @default.
- W66191860 hasConcept C2776760102 @default.
- W66191860 hasConcept C2777299769 @default.
- W66191860 hasConcept C33923547 @default.
- W66191860 hasConcept C41008148 @default.
- W66191860 hasConcept C48947383 @default.
- W66191860 hasConcept C62520636 @default.
- W66191860 hasConcept C62611344 @default.
- W66191860 hasConcept C86803240 @default.
- W66191860 hasConcept C91451191 @default.
- W66191860 hasConceptScore W66191860C11413529 @default.
- W66191860 hasConceptScore W66191860C114614502 @default.
- W66191860 hasConceptScore W66191860C121332964 @default.
- W66191860 hasConceptScore W66191860C138885662 @default.
- W66191860 hasConceptScore W66191860C15708023 @default.
- W66191860 hasConceptScore W66191860C169590947 @default.
- W66191860 hasConceptScore W66191860C177264268 @default.
- W66191860 hasConceptScore W66191860C18903297 @default.
- W66191860 hasConceptScore W66191860C199360897 @default.
- W66191860 hasConceptScore W66191860C2776760102 @default.
- W66191860 hasConceptScore W66191860C2777299769 @default.
- W66191860 hasConceptScore W66191860C33923547 @default.
- W66191860 hasConceptScore W66191860C41008148 @default.
- W66191860 hasConceptScore W66191860C48947383 @default.
- W66191860 hasConceptScore W66191860C62520636 @default.
- W66191860 hasConceptScore W66191860C62611344 @default.
- W66191860 hasConceptScore W66191860C86803240 @default.
- W66191860 hasConceptScore W66191860C91451191 @default.
- W66191860 hasLocation W661918601 @default.
- W66191860 hasOpenAccess W66191860 @default.
- W66191860 hasPrimaryLocation W661918601 @default.
- W66191860 hasRelatedWork W1583362493 @default.
- W66191860 hasRelatedWork W1586420703 @default.
- W66191860 hasRelatedWork W1654118997 @default.
- W66191860 hasRelatedWork W193188586 @default.
- W66191860 hasRelatedWork W1975692087 @default.
- W66191860 hasRelatedWork W1986513240 @default.
- W66191860 hasRelatedWork W1999490278 @default.
- W66191860 hasRelatedWork W2031583939 @default.
- W66191860 hasRelatedWork W2040257788 @default.
- W66191860 hasRelatedWork W2050508529 @default.
- W66191860 hasRelatedWork W2102866823 @default.
- W66191860 hasRelatedWork W2104765735 @default.
- W66191860 hasRelatedWork W2121690461 @default.
- W66191860 hasRelatedWork W2125877989 @default.
- W66191860 hasRelatedWork W2126613473 @default.
- W66191860 hasRelatedWork W2133804239 @default.
- W66191860 hasRelatedWork W2141787205 @default.
- W66191860 hasRelatedWork W2248913496 @default.
- W66191860 hasRelatedWork W2541816251 @default.
- W66191860 hasRelatedWork W635215647 @default.
- W66191860 isParatext "false" @default.
- W66191860 isRetracted "false" @default.
- W66191860 magId "66191860" @default.
- W66191860 workType "article" @default.