hh.sePublikationer
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
A Semantic Analysis of C++ Templates
Rice University, Houston, TX 77005, United States.
Rice University, Houston, TX 77005, United States.
2006 (Engelska)Ingår i: ECOOP 2006 - Object-Oriented Programming: 20th European Conference, Nantes, France, July 3-7, 2006, Proceedings / [ed] Dave Thomas, Heidelberg: Springer, 2006, s. 304-327Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

Templates are a powerful but poorly understood feature ofthe C++ language. Their syntax resembles the parameterized classes ofother languages (e.g., of Java). But because C++ supports template specialization, their semantics is quite different from that of parameterizedclasses. Template specialization provides a Turing-complete sub-languagewithin C++ that executes at compile-time. Programmers put this powerto many uses. For example, templates are a popular tool for writingprogram generators.The C++ Standard defines the semantics of templates using natural language, so it is prone to misinterpretation. The meta-theoretic propertiesof C++ templates have not been studied, so the semantics of templateshas not been systematically checked for errors. In this paper we presentthe first formal account of C++ templates including some of the morecomplex aspects, such as template partial specialization. We validate oursemantics by proving type safety and verify the proof with the Isabelleproof assistant. Our formalization reveals two interesting issues in theC++ Standard: the first is a problem with member instantiation and thesecond concerns the generation of unnecessary template specializations.

Ort, förlag, år, upplaga, sidor
Heidelberg: Springer, 2006. s. 304-327
Serie
Lecture Notes in Computer Science, ISSN 0302-9743 ; 4067
Nyckelord [en]
Codes (symbols), Error correction, High level languages, Natural language processing systems, Parameter estimation, Security of data, Semantics, Standards
Nationell ämneskategori
Datorsystem
Identifikatorer
URN: urn:nbn:se:hh:diva-20971DOI: 10.1007/11785477_19ISI: 000239558900018Scopus ID: 2-s2.0-33746612005ISBN: 3-540-35726-2 ISBN: 978-3-540-35726-1 OAI: oai:DiVA.org:hh-20971DiVA, id: diva2:588267
Konferens
20th European Conference on Object-Oriented Programming (ECOOP 2006), Nantes, FRANCE, APR 03-JUL 07, 2006
Tillgänglig från: 2013-01-15 Skapad: 2013-01-14 Senast uppdaterad: 2018-03-22Bibliografiskt granskad

Open Access i DiVA

Fulltext saknas i DiVA

Övriga länkar

Förlagets fulltextScopus

Personposter BETA

Taha, Walid

Sök vidare i DiVA

Av författaren/redaktören
Taha, Walid
Datorsystem

Sök vidare utanför DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetricpoäng

doi
isbn
urn-nbn
Totalt: 147 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf