Book section Open Access
Courant, Nathanaël;
Séré, Antoine;
Shankar, Natarajan
<?xml version='1.0' encoding='utf-8'?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:adms="http://www.w3.org/ns/adms#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:dctype="http://purl.org/dc/dcmitype/" xmlns:dcat="http://www.w3.org/ns/dcat#" xmlns:duv="http://www.w3.org/ns/duv#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:frapo="http://purl.org/cerif/frapo/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:gsp="http://www.opengis.net/ont/geosparql#" xmlns:locn="http://www.w3.org/ns/locn#" xmlns:org="http://www.w3.org/ns/org#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:vcard="http://www.w3.org/2006/vcard/ns#" xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"> <rdf:Description rdf:about="https://zenodo.org/record/3965629"> <rdf:type rdf:resource="http://www.w3.org/ns/dcat#Dataset"/> <dct:type rdf:resource="http://purl.org/dc/dcmitype/Text"/> <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://zenodo.org/record/3965629</dct:identifier> <foaf:page rdf:resource="https://zenodo.org/record/3965629"/> <dct:creator> <rdf:Description rdf:about="http://orcid.org/0000-0002-8736-3060"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0000-0002-8736-3060</dct:identifier> <foaf:name>Courant, Nathanaël</foaf:name> <foaf:givenName>Nathanaël</foaf:givenName> <foaf:familyName>Courant</foaf:familyName> </rdf:Description> </dct:creator> <dct:creator> <rdf:Description> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> <foaf:name>Séré, Antoine</foaf:name> <foaf:givenName>Antoine</foaf:givenName> <foaf:familyName>Séré</foaf:familyName> </rdf:Description> </dct:creator> <dct:creator> <rdf:Description> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> <foaf:name>Shankar, Natarajan</foaf:name> <foaf:givenName>Natarajan</foaf:givenName> <foaf:familyName>Shankar</foaf:familyName> </rdf:Description> </dct:creator> <dct:title>The Correctness of a Code Generator for a Functional Language</dct:title> <dct:publisher> <foaf:Agent> <foaf:name>Zenodo</foaf:name> </foaf:Agent> </dct:publisher> <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">2020</dct:issued> <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2020-01-01</dct:issued> <owl:sameAs rdf:resource="https://zenodo.org/record/3965629"/> <adms:identifier> <adms:Identifier> <skos:notation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://zenodo.org/record/3965629</skos:notation> <adms:schemeAgency>url</adms:schemeAgency> </adms:Identifier> </adms:identifier> <owl:sameAs rdf:resource="https://doi.org/10.1007/978-3-030-39322-9_4"/> <dct:description>Code generation is gaining popularity as a technique to bridge the gap between high-level models and executable code. We describe the theory underlying the PVS2C code generator that translates functional programs written using the PVS specification language to standalone, efficiently executable C code. We outline a correctness argument for the code generator. The techniques used are quite generic and can be applied to transform programs written in functional languages into imperative code. We use a formal model of reference counting to capture memory management and safe destructive updates for a simple first-order functional language with arrays. We exhibit a bisimulation between the functional execution and the imperative execution. This bisimulation shows that the generated imperative program returns the same result as the functional program.</dct:description> <dct:accessRights rdf:resource="http://publications.europa.eu/resource/authority/access-right/PUBLIC"/> <dct:accessRights> <dct:RightsStatement rdf:about="info:eu-repo/semantics/openAccess"> <rdfs:label>Open Access</rdfs:label> </dct:RightsStatement> </dct:accessRights> <dcat:distribution> <dcat:Distribution> <dcat:accessURL rdf:resource="https://zenodo.org/record/3965629"/> </dcat:Distribution> </dcat:distribution> <dcat:distribution> <dcat:Distribution> <dcat:accessURL>https://doi.org/10.1007/978-3-030-39322-9_4</dcat:accessURL> <dcat:byteSize>351218</dcat:byteSize> <dcat:downloadURL>https://zenodo.org/record/3965629/files/article.pdf</dcat:downloadURL> <dcat:mediaType>application/pdf</dcat:mediaType> </dcat:Distribution> </dcat:distribution> </rdf:Description> </rdf:RDF>
Views | 40 |
Downloads | 19 |
Data volume | 6.7 MB |
Unique views | 39 |
Unique downloads | 19 |