A Pattern Matching Compiler for Multiple Target Languages
Identifieur interne : 003074 ( Istex/Corpus ); précédent : 003073; suivant : 003075A Pattern Matching Compiler for Multiple Target Languages
Auteurs : Moreau Pierre-Etienne ; Christophe Ringeissen ; Marian VittekSource :
- Lecture Notes in Computer Science [ 0302-9743 ]
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:CD38379774B3821C6A6B6181514E1E25E40F6D57Le 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 }}
![]() | This area was generated with Dilib version V0.6.33. | ![]() |