Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

A Pattern Matching Compiler for Multiple Target Languages

Identifieur interne : 003074 ( Istex/Corpus ); précédent : 003073; suivant : 003075

A Pattern Matching Compiler for Multiple Target Languages

Auteurs : Moreau Pierre-Etienne ; Christophe Ringeissen ; Marian Vittek

Source :

RBID : ISTEX:CD38379774B3821C6A6B6181514E1E25E40F6D57

Abstract

Abstract: Many processes can be seen as transformations of tree-like data structures. In compiler construction, for example, we continuously manipulate trees and perform tree transformations. This paper introduces a pattern matching compiler (Tom): a set of primitives which add pattern matching facilities to imperative languages such as C, Java, or Eiffel. We show that this tool is extremely non-intrusive, lightweight and useful to implement tree transformations. It is also flexible enough to allow the reuse of existing data structures.

Url:
DOI: 10.1007/3-540-36579-6_5

Links to Exploration step

ISTEX:CD38379774B3821C6A6B6181514E1E25E40F6D57

Le document en format XML

<record>
<TEI wicri:istexFullTextTei="biblStruct">
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">A Pattern Matching Compiler for Multiple Target Languages</title>
<author>
<name sortKey="Pierre Etienne, Moreau" sort="Pierre Etienne, Moreau" uniqKey="Pierre Etienne M" first="Moreau" last="Pierre-Etienne">Moreau Pierre-Etienne</name>
<affiliation>
<mods:affiliation>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</mods:affiliation>
</affiliation>
<affiliation>
<mods:affiliation>E-mail: moreau@loria.fr</mods:affiliation>
</affiliation>
</author>
<author>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
<affiliation>
<mods:affiliation>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</mods:affiliation>
</affiliation>
<affiliation>
<mods:affiliation>E-mail: ringeiss@loria.fr</mods:affiliation>
</affiliation>
</author>
<author>
<name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
<affiliation>
<mods:affiliation>Institut of Informatica Mlynska dolina, 842 15, Bratislava, Slovakia</mods:affiliation>
</affiliation>
<affiliation>
<mods:affiliation>E-mail: vittek@fmph.uniba.sk</mods:affiliation>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:CD38379774B3821C6A6B6181514E1E25E40F6D57</idno>
<date when="2003" year="2003">2003</date>
<idno type="doi">10.1007/3-540-36579-6_5</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-V1BV50K9-M/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">003074</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">003074</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title level="a" type="main" xml:lang="en">A Pattern Matching Compiler for Multiple Target Languages</title>
<author>
<name sortKey="Pierre Etienne, Moreau" sort="Pierre Etienne, Moreau" uniqKey="Pierre Etienne M" first="Moreau" last="Pierre-Etienne">Moreau Pierre-Etienne</name>
<affiliation>
<mods:affiliation>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</mods:affiliation>
</affiliation>
<affiliation>
<mods:affiliation>E-mail: moreau@loria.fr</mods:affiliation>
</affiliation>
</author>
<author>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
<affiliation>
<mods:affiliation>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</mods:affiliation>
</affiliation>
<affiliation>
<mods:affiliation>E-mail: ringeiss@loria.fr</mods:affiliation>
</affiliation>
</author>
<author>
<name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
<affiliation>
<mods:affiliation>Institut of Informatica Mlynska dolina, 842 15, Bratislava, Slovakia</mods:affiliation>
</affiliation>
<affiliation>
<mods:affiliation>E-mail: vittek@fmph.uniba.sk</mods:affiliation>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series>
<title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<idno type="ISSN">0302-9743</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt>
<idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">Abstract: Many processes can be seen as transformations of tree-like data structures. In compiler construction, for example, we continuously manipulate trees and perform tree transformations. This paper introduces a pattern matching compiler (Tom): a set of primitives which add pattern matching facilities to imperative languages such as C, Java, or Eiffel. We show that this tool is extremely non-intrusive, lightweight and useful to implement tree transformations. It is also flexible enough to allow the reuse of existing data structures.</div>
</front>
</TEI>
<istex>
<corpusName>springer-ebooks</corpusName>
<author>
<json:item>
<name>Moreau Pierre-Etienne</name>
<affiliations>
<json:string>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</json:string>
<json:string>E-mail: moreau@loria.fr</json:string>
</affiliations>
</json:item>
<json:item>
<name>Christophe Ringeissen</name>
<affiliations>
<json:string>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</json:string>
<json:string>E-mail: ringeiss@loria.fr</json:string>
</affiliations>
</json:item>
<json:item>
<name>Marian Vittek</name>
<affiliations>
<json:string>Institut of Informatica Mlynska dolina, 842 15, Bratislava, Slovakia</json:string>
<json:string>E-mail: vittek@fmph.uniba.sk</json:string>
</affiliations>
</json:item>
</author>
<arkIstex>ark:/67375/HCB-V1BV50K9-M</arkIstex>
<language>
<json:string>eng</json:string>
</language>
<originalGenre>
<json:string>OriginalPaper</json:string>
</originalGenre>
<abstract>Abstract: Many processes can be seen as transformations of tree-like data structures. In compiler construction, for example, we continuously manipulate trees and perform tree transformations. This paper introduces a pattern matching compiler (Tom): a set of primitives which add pattern matching facilities to imperative languages such as C, Java, or Eiffel. We show that this tool is extremely non-intrusive, lightweight and useful to implement tree transformations. It is also flexible enough to allow the reuse of existing data structures.</abstract>
<qualityIndicators>
<score>7.948</score>
<pdfWordCount>6005</pdfWordCount>
<pdfCharCount>36189</pdfCharCount>
<pdfVersion>1.3</pdfVersion>
<pdfPageCount>16</pdfPageCount>
<pdfPageSize>648 x 864 pts</pdfPageSize>
<refBibsNative>false</refBibsNative>
<abstractWordCount>79</abstractWordCount>
<abstractCharCount>542</abstractCharCount>
<keywordCount>0</keywordCount>
</qualityIndicators>
<title>A Pattern Matching Compiler for Multiple Target Languages</title>
<chapterId>
<json:string>5</json:string>
<json:string>Chap5</json:string>
</chapterId>
<genre>
<json:string>conference</json:string>
</genre>
<serie>
<title>Lecture Notes in Computer Science</title>
<language>
<json:string>unknown</json:string>
</language>
<copyrightDate>2003</copyrightDate>
<issn>
<json:string>0302-9743</json:string>
</issn>
<editor>
<json:item>
<name>Gerhard Goos</name>
<affiliations>
<json:string>Karlsruhe University, Germany</json:string>
</affiliations>
</json:item>
<json:item>
<name>Juris Hartmanis</name>
<affiliations>
<json:string>Cornell University, NY, USA</json:string>
</affiliations>
</json:item>
<json:item>
<name>Jan van Leeuwen</name>
<affiliations>
<json:string>Utrecht University, The Netherlands</json:string>
</affiliations>
</json:item>
</editor>
</serie>
<host>
<title>Compiler Construction</title>
<language>
<json:string>unknown</json:string>
</language>
<copyrightDate>2003</copyrightDate>
<doi>
<json:string>10.1007/3-540-36579-6</json:string>
</doi>
<issn>
<json:string>0302-9743</json:string>
</issn>
<eisbn>
<json:string>978-3-540-36579-2</json:string>
</eisbn>
<bookId>
<json:string>3-540-36579-6</json:string>
</bookId>
<isbn>
<json:string>978-3-540-00904-7</json:string>
</isbn>
<volume>2622</volume>
<pages>
<first>61</first>
<last>76</last>
</pages>
<genre>
<json:string>book-series</json:string>
</genre>
<editor>
<json:item>
<name>Görel Hedin</name>
<affiliations>
<json:string>Department of Computer Science, Lund University, Box 118, 221 00, Lund, Sweden</json:string>
<json:string>E-mail: gorel.hedin@cs.lth.se</json:string>
</affiliations>
</json:item>
</editor>
<subject>
<json:item>
<value>Computer Science</value>
</json:item>
<json:item>
<value>Computer Science</value>
</json:item>
<json:item>
<value>Programming Languages, Compilers, Interpreters</value>
</json:item>
<json:item>
<value>Software Engineering</value>
</json:item>
<json:item>
<value>Logics and Meanings of Programs</value>
</json:item>
<json:item>
<value>Mathematical Logic and Formal Languages</value>
</json:item>
<json:item>
<value>Artificial Intelligence (incl. Robotics)</value>
</json:item>
</subject>
</host>
<ark>
<json:string>ark:/67375/HCB-V1BV50K9-M</json:string>
</ark>
<publicationDate>2003</publicationDate>
<copyrightDate>2003</copyrightDate>
<doi>
<json:string>10.1007/3-540-36579-6_5</json:string>
</doi>
<id>CD38379774B3821C6A6B6181514E1E25E40F6D57</id>
<score>1</score>
<fulltext>
<json:item>
<extension>pdf</extension>
<original>true</original>
<mimetype>application/pdf</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-V1BV50K9-M/fulltext.pdf</uri>
</json:item>
<json:item>
<extension>zip</extension>
<original>false</original>
<mimetype>application/zip</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-V1BV50K9-M/bundle.zip</uri>
</json:item>
<istex:fulltextTEI uri="https://api.istex.fr/ark:/67375/HCB-V1BV50K9-M/fulltext.tei">
<teiHeader>
<fileDesc>
<titleStmt>
<title level="a" type="main" xml:lang="en">A Pattern Matching Compiler for Multiple Target Languages</title>
</titleStmt>
<publicationStmt>
<authority>ISTEX</authority>
<availability>
<licence>Springer-Verlag Berlin Heidelberg</licence>
</availability>
<date when="2003">2003</date>
</publicationStmt>
<notesStmt>
<note type="conference" source="proceedings" scheme="https://content-type.data.istex.fr/ark:/67375/XTP-BFHXPBJJ-3">conference</note>
<note type="publication-type" subtype="book-series" scheme="https://publication-type.data.istex.fr/ark:/67375/JMC-0G6R5W5T-Z">book-series</note>
</notesStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title level="a" type="main" xml:lang="en">A Pattern Matching Compiler for Multiple Target Languages</title>
<author>
<persName>
<forename type="first">Moreau</forename>
<surname>Pierre-Etienne</surname>
</persName>
<email>moreau@loria.fr</email>
<affiliation>
<orgName type="institution">LORIA-INRIA</orgName>
<address>
<street>615, rue du Jardin Botanique</street>
<postBox>BP 101</postBox>
<postCode>54602</postCode>
<settlement>Villers-lès-Nancy Cedex</settlement>
<country key="FR">FRANCE</country>
</address>
</affiliation>
</author>
<author>
<persName>
<forename type="first">Christophe</forename>
<surname>Ringeissen</surname>
</persName>
<email>ringeiss@loria.fr</email>
<affiliation>
<orgName type="institution">LORIA-INRIA</orgName>
<address>
<street>615, rue du Jardin Botanique</street>
<postBox>BP 101</postBox>
<postCode>54602</postCode>
<settlement>Villers-lès-Nancy Cedex</settlement>
<country key="FR">FRANCE</country>
</address>
</affiliation>
</author>
<author>
<persName>
<forename type="first">Marian</forename>
<surname>Vittek</surname>
</persName>
<email>vittek@fmph.uniba.sk</email>
<affiliation>
<orgName type="institution">Institut of Informatica Mlynska dolina</orgName>
<address>
<postCode>842 15</postCode>
<settlement>Bratislava</settlement>
<country key="SK">SLOVAKIA</country>
</address>
</affiliation>
</author>
<idno type="istex">CD38379774B3821C6A6B6181514E1E25E40F6D57</idno>
<idno type="ark">ark:/67375/HCB-V1BV50K9-M</idno>
<idno type="DOI">10.1007/3-540-36579-6_5</idno>
</analytic>
<monogr>
<title level="m" type="main">Compiler Construction</title>
<title level="m" type="sub">12th International Conference, CC 2003 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003 Warsaw, Poland, April 7–11, 2003 Proceedings</title>
<title level="m" type="part">Language Constructs and Their Implementation</title>
<idno type="DOI">10.1007/3-540-36579-6</idno>
<idno type="book-id">3-540-36579-6</idno>
<idno type="ISBN">978-3-540-00904-7</idno>
<idno type="eISBN">978-3-540-36579-2</idno>
<idno type="chapter-id">Chap5</idno>
<idno type="part-id">Part2</idno>
<editor>
<persName>
<forename type="first">Görel</forename>
<surname>Hedin</surname>
</persName>
<email>gorel.hedin@cs.lth.se</email>
<affiliation>
<orgName type="department">Department of Computer Science</orgName>
<orgName type="institution">Lund University</orgName>
<address>
<postBox>Box 118</postBox>
<postCode>221 00</postCode>
<settlement>Lund</settlement>
<country key="SE">SWEDEN</country>
</address>
</affiliation>
</editor>
<imprint>
<biblScope unit="vol">2622</biblScope>
<biblScope unit="page" from="61">61</biblScope>
<biblScope unit="page" to="76">76</biblScope>
<biblScope unit="chapter-count">23</biblScope>
<biblScope unit="part-chapter-count">3</biblScope>
</imprint>
</monogr>
<series>
<title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<editor>
<persName>
<forename type="first">Gerhard</forename>
<surname>Goos</surname>
</persName>
<affiliation>
<orgName type="institution">Karlsruhe University</orgName>
<address>
<country key="DE">GERMANY</country>
</address>
</affiliation>
</editor>
<editor>
<persName>
<forename type="first">Juris</forename>
<surname>Hartmanis</surname>
</persName>
<affiliation>
<orgName type="institution">Cornell University</orgName>
<address>
<settlement>NY</settlement>
<country key="US">UNITED STATES</country>
</address>
</affiliation>
</editor>
<editor>
<persName>
<forename type="first">Jan</forename>
<nameLink>van</nameLink>
<surname>Leeuwen</surname>
</persName>
<affiliation>
<orgName type="institution">Utrecht University</orgName>
<address>
<country key=""></country>
</address>
</affiliation>
</editor>
<idno type="pISSN">0302-9743</idno>
<idno type="seriesID">558</idno>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<abstract xml:lang="en">
<head>Abstract</head>
<p>Many processes can be seen as transformations of tree-like data structures. In compiler construction, for example, we continuously manipulate trees and perform tree transformations. This paper introduces a pattern matching compiler (Tom): a set of primitives which add pattern matching facilities to imperative languages such as C, Java, or Eiffel. We show that this tool is extremely non-intrusive, lightweight and useful to implement tree transformations. It is also flexible enough to allow the reuse of existing data structures.</p>
</abstract>
<textClass ana="subject">
<keywords scheme="book-subject-collection">
<list>
<label>SUCO11645</label>
<item>
<term>Computer Science</term>
</item>
</list>
</keywords>
</textClass>
<textClass ana="subject">
<keywords scheme="book-subject">
<list>
<label>I</label>
<item>
<term type="Primary">Computer Science</term>
</item>
<label>I14037</label>
<item>
<term type="Secondary" subtype="priority-1">Programming Languages, Compilers, Interpreters</term>
</item>
<label>I14029</label>
<item>
<term type="Secondary" subtype="priority-2">Software Engineering</term>
</item>
<label>I1603X</label>
<item>
<term type="Secondary" subtype="priority-3">Logics and Meanings of Programs</term>
</item>
<label>I16048</label>
<item>
<term type="Secondary" subtype="priority-4">Mathematical Logic and Formal Languages</term>
</item>
<label>I21017</label>
<item>
<term type="Secondary" subtype="priority-5">Artificial Intelligence (incl. Robotics)</term>
</item>
</list>
</keywords>
</textClass>
<langUsage>
<language ident="EN"></language>
</langUsage>
</profileDesc>
</teiHeader>
</istex:fulltextTEI>
<json:item>
<extension>txt</extension>
<original>false</original>
<mimetype>text/plain</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-V1BV50K9-M/fulltext.txt</uri>
</json:item>
</fulltext>
<metadata>
<istex:metadataXml wicri:clean="corpus springer-ebooks not found" wicri:toSee="no header">
<istex:xmlDeclaration>version="1.0" encoding="UTF-8"</istex:xmlDeclaration>
<istex:docType PUBLIC="-//Springer-Verlag//DTD A++ V2.4//EN" URI="http://devel.springer.de/A++/V2.4/DTD/A++V2.4.dtd" name="istex:docType"></istex:docType>
<istex:document>
<Publisher>
<PublisherInfo>
<PublisherName>Springer Berlin Heidelberg</PublisherName>
<PublisherLocation>Berlin, Heidelberg</PublisherLocation>
</PublisherInfo>
<Series>
<SeriesInfo SeriesType="Series" TocLevels="0">
<SeriesID>558</SeriesID>
<SeriesPrintISSN>0302-9743</SeriesPrintISSN>
<SeriesTitle Language="En">Lecture Notes in Computer Science</SeriesTitle>
</SeriesInfo>
<SeriesHeader>
<EditorGroup>
<Editor AffiliationIDS="Aff1">
<EditorName DisplayOrder="Western">
<GivenName>Gerhard</GivenName>
<FamilyName>Goos</FamilyName>
</EditorName>
</Editor>
<Editor AffiliationIDS="Aff2">
<EditorName DisplayOrder="Western">
<GivenName>Juris</GivenName>
<FamilyName>Hartmanis</FamilyName>
</EditorName>
</Editor>
<Editor AffiliationIDS="Aff3">
<EditorName DisplayOrder="Western">
<GivenName>Jan</GivenName>
<Particle>van</Particle>
<FamilyName>Leeuwen</FamilyName>
</EditorName>
</Editor>
<Affiliation ID="Aff1">
<OrgName>Karlsruhe University</OrgName>
<OrgAddress>
<Country>Germany</Country>
</OrgAddress>
</Affiliation>
<Affiliation ID="Aff2">
<OrgName>Cornell University</OrgName>
<OrgAddress>
<City>NY</City>
<Country>USA</Country>
</OrgAddress>
</Affiliation>
<Affiliation ID="Aff3">
<OrgName>Utrecht University</OrgName>
<OrgAddress>
<Country>The Netherlands</Country>
</OrgAddress>
</Affiliation>
</EditorGroup>
</SeriesHeader>
<Book Language="En">
<BookInfo BookProductType="Proceedings" Language="En" MediaType="eBook" NumberingStyle="Unnumbered" TocLevels="0">
<BookID>3-540-36579-6</BookID>
<BookTitle>Compiler Construction</BookTitle>
<BookSubTitle>12th International Conference, CC 2003 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003 Warsaw, Poland, April 7–11, 2003 Proceedings</BookSubTitle>
<BookVolumeNumber>2622</BookVolumeNumber>
<BookSequenceNumber>2622</BookSequenceNumber>
<BookDOI>10.1007/3-540-36579-6</BookDOI>
<BookTitleID>72621</BookTitleID>
<BookPrintISBN>978-3-540-00904-7</BookPrintISBN>
<BookElectronicISBN>978-3-540-36579-2</BookElectronicISBN>
<BookChapterCount>23</BookChapterCount>
<BookHistory>
<OnlineDate>
<Year>2003</Year>
<Month>2</Month>
<Day>28</Day>
</OnlineDate>
</BookHistory>
<BookCopyright>
<CopyrightHolderName>Springer-Verlag Berlin Heidelberg</CopyrightHolderName>
<CopyrightYear>2003</CopyrightYear>
</BookCopyright>
<BookSubjectGroup>
<BookSubject Code="I" Type="Primary">Computer Science</BookSubject>
<BookSubject Code="I14037" Priority="1" Type="Secondary">Programming Languages, Compilers, Interpreters</BookSubject>
<BookSubject Code="I14029" Priority="2" Type="Secondary">Software Engineering</BookSubject>
<BookSubject Code="I1603X" Priority="3" Type="Secondary">Logics and Meanings of Programs</BookSubject>
<BookSubject Code="I16048" Priority="4" Type="Secondary">Mathematical Logic and Formal Languages</BookSubject>
<BookSubject Code="I21017" Priority="5" Type="Secondary">Artificial Intelligence (incl. Robotics)</BookSubject>
<SubjectCollection Code="SUCO11645">Computer Science</SubjectCollection>
</BookSubjectGroup>
<BookContext>
<SeriesID>558</SeriesID>
</BookContext>
</BookInfo>
<BookHeader>
<EditorGroup>
<Editor AffiliationIDS="Aff4">
<EditorName DisplayOrder="Western">
<GivenName>Görel</GivenName>
<FamilyName>Hedin</FamilyName>
</EditorName>
<Contact>
<Email>gorel.hedin@cs.lth.se</Email>
</Contact>
</Editor>
<Affiliation ID="Aff4">
<OrgDivision>Department of Computer Science</OrgDivision>
<OrgName>Lund University</OrgName>
<OrgAddress>
<Postbox>Box 118</Postbox>
<Postcode>221 00</Postcode>
<City>Lund</City>
<Country>Sweden</Country>
</OrgAddress>
</Affiliation>
</EditorGroup>
</BookHeader>
<Part ID="Part2">
<PartInfo TocLevels="0">
<PartID>2</PartID>
<PartSequenceNumber>2</PartSequenceNumber>
<PartTitle>Language Constructs and Their Implementation</PartTitle>
<PartChapterCount>3</PartChapterCount>
<PartContext>
<SeriesID>558</SeriesID>
<BookID>3-540-36579-6</BookID>
<BookTitle>Compiler Construction</BookTitle>
</PartContext>
</PartInfo>
<Chapter ID="Chap5" Language="En">
<ChapterInfo ChapterType="OriginalPaper" ContainsESM="No" Language="En" NumberingStyle="Unnumbered" TocLevels="0">
<ChapterID>5</ChapterID>
<ChapterDOI>10.1007/3-540-36579-6_5</ChapterDOI>
<ChapterSequenceNumber>5</ChapterSequenceNumber>
<ChapterTitle Language="En">A Pattern Matching Compiler for Multiple Target Languages</ChapterTitle>
<ChapterFirstPage>61</ChapterFirstPage>
<ChapterLastPage>76</ChapterLastPage>
<ChapterCopyright>
<CopyrightHolderName>Springer-Verlag Berlin Heidelberg</CopyrightHolderName>
<CopyrightYear>2003</CopyrightYear>
</ChapterCopyright>
<ChapterHistory>
<RegistrationDate>
<Year>2003</Year>
<Month>2</Month>
<Day>27</Day>
</RegistrationDate>
<OnlineDate>
<Year>2003</Year>
<Month>2</Month>
<Day>28</Day>
</OnlineDate>
</ChapterHistory>
<ChapterGrants Type="Regular">
<MetadataGrant Grant="OpenAccess"></MetadataGrant>
<AbstractGrant Grant="OpenAccess"></AbstractGrant>
<BodyPDFGrant Grant="Restricted"></BodyPDFGrant>
<BodyHTMLGrant Grant="Restricted"></BodyHTMLGrant>
<BibliographyGrant Grant="Restricted"></BibliographyGrant>
<ESMGrant Grant="Restricted"></ESMGrant>
</ChapterGrants>
<ChapterContext>
<SeriesID>558</SeriesID>
<PartID>2</PartID>
<BookID>3-540-36579-6</BookID>
<BookTitle>Compiler Construction</BookTitle>
</ChapterContext>
</ChapterInfo>
<ChapterHeader>
<AuthorGroup>
<Author AffiliationIDS="Aff5">
<AuthorName DisplayOrder="Eastern">
<GivenName>Moreau</GivenName>
<FamilyName>Pierre-Etienne</FamilyName>
</AuthorName>
<Contact>
<Email>moreau@loria.fr</Email>
<URL>elan.loria.fr/tom</URL>
</Contact>
</Author>
<Author AffiliationIDS="Aff5">
<AuthorName DisplayOrder="Western">
<GivenName>Christophe</GivenName>
<FamilyName>Ringeissen</FamilyName>
</AuthorName>
<Contact>
<Email>ringeiss@loria.fr</Email>
<URL>elan.loria.fr/tom</URL>
</Contact>
</Author>
<Author AffiliationIDS="Aff6">
<AuthorName DisplayOrder="Western">
<GivenName>Marian</GivenName>
<FamilyName>Vittek</FamilyName>
</AuthorName>
<Contact>
<Email>vittek@fmph.uniba.sk</Email>
</Contact>
</Author>
<Affiliation ID="Aff5">
<OrgName>LORIA-INRIA</OrgName>
<OrgAddress>
<Street>615, rue du Jardin Botanique</Street>
<Postbox>BP 101</Postbox>
<Postcode>54602</Postcode>
<City>Villers-lès-Nancy Cedex</City>
<Country>France</Country>
</OrgAddress>
</Affiliation>
<Affiliation ID="Aff6">
<OrgName>Institut of Informatica Mlynska dolina</OrgName>
<OrgAddress>
<Postcode>842 15</Postcode>
<City>Bratislava</City>
<Country>Slovakia</Country>
</OrgAddress>
</Affiliation>
</AuthorGroup>
<Abstract ID="Abs1" Language="En">
<Heading>Abstract</Heading>
<Para>Many processes can be seen as transformations of tree-like data structures. In compiler construction, for example, we continuously manipulate trees and perform tree transformations. This paper introduces a pattern matching compiler (Tom): a set of primitives which add pattern matching facilities to imperative languages such as C, Java, or Eiffel. We show that this tool is extremely non-intrusive, lightweight and useful to implement tree transformations. It is also flexible enough to allow the reuse of existing data structures.</Para>
</Abstract>
</ChapterHeader>
<NoBody></NoBody>
</Chapter>
</Part>
</Book>
</Series>
</Publisher>
</istex:document>
</istex:metadataXml>
<mods version="3.6">
<titleInfo lang="en">
<title>A Pattern Matching Compiler for Multiple Target Languages</title>
</titleInfo>
<titleInfo type="alternative" contentType="CDATA">
<title>A Pattern Matching Compiler for Multiple Target Languages</title>
</titleInfo>
<name type="personal">
<namePart type="given">Moreau</namePart>
<namePart type="family">Pierre-Etienne</namePart>
<affiliation>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</affiliation>
<affiliation>E-mail: moreau@loria.fr</affiliation>
<role>
<roleTerm type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Christophe</namePart>
<namePart type="family">Ringeissen</namePart>
<affiliation>LORIA-INRIA, 615, rue du Jardin Botanique, BP 101, 54602, Villers-lès-Nancy Cedex, France</affiliation>
<affiliation>E-mail: ringeiss@loria.fr</affiliation>
<role>
<roleTerm type="text">author</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Marian</namePart>
<namePart type="family">Vittek</namePart>
<affiliation>Institut of Informatica Mlynska dolina, 842 15, Bratislava, Slovakia</affiliation>
<affiliation>E-mail: vittek@fmph.uniba.sk</affiliation>
<role>
<roleTerm type="text">author</roleTerm>
</role>
</name>
<typeOfResource>text</typeOfResource>
<genre displayLabel="OriginalPaper" authority="ISTEX" authorityURI="https://content-type.data.istex.fr" type="conference" valueURI="https://content-type.data.istex.fr/ark:/67375/XTP-BFHXPBJJ-3">conference</genre>
<originInfo>
<publisher>Springer Berlin Heidelberg</publisher>
<place>
<placeTerm type="text">Berlin, Heidelberg</placeTerm>
</place>
<dateIssued encoding="w3cdtf">2003</dateIssued>
<copyrightDate encoding="w3cdtf">2003</copyrightDate>
</originInfo>
<language>
<languageTerm type="code" authority="rfc3066">en</languageTerm>
<languageTerm type="code" authority="iso639-2b">eng</languageTerm>
</language>
<abstract lang="en">Abstract: Many processes can be seen as transformations of tree-like data structures. In compiler construction, for example, we continuously manipulate trees and perform tree transformations. This paper introduces a pattern matching compiler (Tom): a set of primitives which add pattern matching facilities to imperative languages such as C, Java, or Eiffel. We show that this tool is extremely non-intrusive, lightweight and useful to implement tree transformations. It is also flexible enough to allow the reuse of existing data structures.</abstract>
<relatedItem type="host">
<titleInfo>
<title>Compiler Construction</title>
<subTitle>12th International Conference, CC 2003 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2003 Warsaw, Poland, April 7–11, 2003 Proceedings</subTitle>
</titleInfo>
<name type="personal">
<namePart type="given">Görel</namePart>
<namePart type="family">Hedin</namePart>
<affiliation>Department of Computer Science, Lund University, Box 118, 221 00, Lund, Sweden</affiliation>
<affiliation>E-mail: gorel.hedin@cs.lth.se</affiliation>
<role>
<roleTerm type="text">editor</roleTerm>
</role>
</name>
<genre type="book-series" authority="ISTEX" authorityURI="https://publication-type.data.istex.fr" valueURI="https://publication-type.data.istex.fr/ark:/67375/JMC-0G6R5W5T-Z">book-series</genre>
<originInfo>
<publisher>Springer</publisher>
<copyrightDate encoding="w3cdtf">2003</copyrightDate>
<issuance>monographic</issuance>
</originInfo>
<subject>
<genre>Book-Subject-Collection</genre>
<topic authority="SpringerSubjectCodes" authorityURI="SUCO11645">Computer Science</topic>
</subject>
<subject>
<genre>Book-Subject-Group</genre>
<topic authority="SpringerSubjectCodes" authorityURI="I">Computer Science</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I14037">Programming Languages, Compilers, Interpreters</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I14029">Software Engineering</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I1603X">Logics and Meanings of Programs</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I16048">Mathematical Logic and Formal Languages</topic>
<topic authority="SpringerSubjectCodes" authorityURI="I21017">Artificial Intelligence (incl. Robotics)</topic>
</subject>
<identifier type="DOI">10.1007/3-540-36579-6</identifier>
<identifier type="ISBN">978-3-540-00904-7</identifier>
<identifier type="eISBN">978-3-540-36579-2</identifier>
<identifier type="ISSN">0302-9743</identifier>
<identifier type="BookTitleID">72621</identifier>
<identifier type="BookID">3-540-36579-6</identifier>
<identifier type="BookChapterCount">23</identifier>
<identifier type="BookVolumeNumber">2622</identifier>
<identifier type="BookSequenceNumber">2622</identifier>
<identifier type="PartChapterCount">3</identifier>
<part>
<date>2003</date>
<detail type="part">
<title>Language Constructs and Their Implementation</title>
</detail>
<detail type="volume">
<number>2622</number>
<caption>vol.</caption>
</detail>
<extent unit="pages">
<start>61</start>
<end>76</end>
</extent>
</part>
<recordInfo>
<recordOrigin>Springer-Verlag Berlin Heidelberg, 2003</recordOrigin>
</recordInfo>
</relatedItem>
<relatedItem type="series">
<titleInfo>
<title>Lecture Notes in Computer Science</title>
</titleInfo>
<name type="personal">
<namePart type="given">Gerhard</namePart>
<namePart type="family">Goos</namePart>
<affiliation>Karlsruhe University, Germany</affiliation>
<role>
<roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Juris</namePart>
<namePart type="family">Hartmanis</namePart>
<affiliation>Cornell University, NY, USA</affiliation>
<role>
<roleTerm type="text">editor</roleTerm>
</role>
</name>
<name type="personal">
<namePart type="given">Jan</namePart>
<namePart type="family">van Leeuwen</namePart>
<affiliation>Utrecht University, The Netherlands</affiliation>
<role>
<roleTerm type="text">editor</roleTerm>
</role>
</name>
<originInfo>
<publisher>Springer</publisher>
<copyrightDate encoding="w3cdtf">2003</copyrightDate>
<issuance>serial</issuance>
</originInfo>
<identifier type="ISSN">0302-9743</identifier>
<identifier type="SeriesID">558</identifier>
<recordInfo>
<recordOrigin>Springer-Verlag Berlin Heidelberg, 2003</recordOrigin>
</recordInfo>
</relatedItem>
<identifier type="istex">CD38379774B3821C6A6B6181514E1E25E40F6D57</identifier>
<identifier type="ark">ark:/67375/HCB-V1BV50K9-M</identifier>
<identifier type="DOI">10.1007/3-540-36579-6_5</identifier>
<identifier type="ChapterID">5</identifier>
<identifier type="ChapterID">Chap5</identifier>
<accessCondition type="use and reproduction" contentType="copyright">Springer-Verlag Berlin Heidelberg, 2003</accessCondition>
<recordInfo>
<recordContentSource authority="ISTEX" authorityURI="https://loaded-corpus.data.istex.fr" valueURI="https://loaded-corpus.data.istex.fr/ark:/67375/XBH-RLRX46XW-4">springer</recordContentSource>
<recordOrigin>Springer-Verlag Berlin Heidelberg, 2003</recordOrigin>
</recordInfo>
</mods>
<json:item>
<extension>json</extension>
<original>false</original>
<mimetype>application/json</mimetype>
<uri>https://api.istex.fr/ark:/67375/HCB-V1BV50K9-M/record.json</uri>
</json:item>
</metadata>
</istex>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Istex/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 003074 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Istex/Corpus/biblio.hfd -nk 003074 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    Istex
   |étape=   Corpus
   |type=    RBID
   |clé=     ISTEX:CD38379774B3821C6A6B6181514E1E25E40F6D57
   |texte=   A Pattern Matching Compiler for Multiple Target Languages
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022