About: Coco/R

An Entity of Type: software, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

Coco/R is a compiler generator that takes wirth syntax notation grammars of a source language and generates a scanner and a parser for that language. The scanner works as a deterministic finite automaton. It supports Unicode characters in UTF-8 encoding and can be made case-sensitive or case-insensitive. It can also recognize tokens based on their right-hand-side context. In addition to terminal symbols the scanner can also recognize pragmas, which are tokens that are not part of the syntax but can occur anywhere in the input stream (e.g. compiler directives or end-of-line characters).

Property Value
dbo:abstract
  • Coco/R ist ein Parsergenerator, der aus einer L-attributierten EBNF-Grammatik einer Quellsprache einen Scanner und einen Parser für diese Sprache erzeugt. Der Scanner arbeitet als endlicher Automat. Er unterstützt Unicode-Zeichen in UTF-8-Kodierung und kann so konfiguriert werden, dass Groß-/Kleinschreibung ignoriert wird. Die Erkennung von Symbolen kann von ihrem rechten Kontext abhängig gemacht werden. Zusätzlich zu Terminalsymbolen kann der Scanner auch Pragmas verarbeiten, d. h. Symbole, die nicht zur Syntax der Sprache gehören, sondern an beliebiger Stelle des Eingabestroms vorkommen können (z. B. Compiler-Direktiven oder Zeilenende-Zeichen). Der Parser arbeitet nach der Methode des rekursiven Abstiegs. LL(1)-Konflikte können durch Vorgriff um mehrere Symbole oder durch semantische Prüfungen gelöst werden. Somit ist die Klasse der akzeptierten Grammatiken LL(k) für beliebiges k. Fuzzy Parsing kann durch ein ANY-Symbol erreicht werden, das komplementäre Symbolmengen beschreibt. Semantische Aktionen werden in der Sprache des erzeugten Scanners und Parsers beschrieben. Die Fehlerbehandlung im erzeugten Parser kann durch die Angabe von Synchronisationspunkten und "schwachen Terminalsymbolen" verfeinert werden. Die Grammatik wird auch auf Vollständigkeit, Konsistenz, Redundanzfreiheit und auf ihre LL(1)-Eigenschaft geprüft. Es gibt Versionen von Coco/R für die meisten modernen Sprachen (Java, C#, C++, Pascal, Modula-2, Delphi, VB.NET, Python, Ruby und andere). Für die Java-Version existiert ein Eclipse-Plugin. Grammatiken für C# und Java stehen zum Download bereit. Coco/R wurde an der Universität Linz entwickelt und steht unter einer Variante der GNU General Public License. (de)
  • Coco/R is a compiler generator that takes wirth syntax notation grammars of a source language and generates a scanner and a parser for that language. The scanner works as a deterministic finite automaton. It supports Unicode characters in UTF-8 encoding and can be made case-sensitive or case-insensitive. It can also recognize tokens based on their right-hand-side context. In addition to terminal symbols the scanner can also recognize pragmas, which are tokens that are not part of the syntax but can occur anywhere in the input stream (e.g. compiler directives or end-of-line characters). The parser uses recursive descent; LL(1) conflicts can be resolved by either a multi-symbol lookahead or by semantic checks. Thus the class of accepted grammars is LL(k) for an arbitrary k. Fuzzy parsing is supported by so-called ANY symbols that match complementary sets of tokens. Semantic actions are written in the same language as the generated scanner and parser. The parser's error handling can be tuned by specifying synchronization points and "weak symbols" in the grammar. Coco/R checks the grammar for completeness, consistency, non-redundancy as well as for LL(1) conflicts. There are versions of Coco/R for Java, C#, C++, Pascal, Modula-2, Modula-3, Delphi, VB.NET, Python, Ruby and other programming languages. The latest versions from the University of Linz are those for C#, Java and C++. For the Java version, there is an Eclipse plug-in and for C#, a Visual Studio plug-in. There are also sample grammars for Java and C#. Coco/R was originally developed at the ETHZ and moved with Hanspeter Mössenböck to University of Linz when he got his appointment there. Coco/R is distributed under the terms of a slightly relaxed GNU General Public License. (en)
  • Coco/R は、対象となる言語の属性付き文法を入力とし、その言語の字句解析器と構文解析器を生成するパーサジェネレータである。字句解析部は一種の決定性有限状態機械として機能する。構文解析部には再帰下降構文解析によるLL法を使う。LL(1)での衝突の解決には、複数シンボルの先読みを行うか、意味論的チェックを行う。そのため、任意の k の LL(k) の文法クラスに対応可能である。 Coco/R にはいくつかの言語での実装がある。のリリースした最新版では、C#版とJava版がある。生成される構文解析器がそれらの言語で書かれている。 Coco/R は修正を加えた GNU General Public License でライセンスされ、配布されている。 (ja)
  • Сосо/R — программа генерации компиляторов или интерпретаторов языка. Программа читает файл с атрибутивной грамматикой реализуемого языка, описанной в форме РБНФ (Расширенная форма Бэкуса — Наура, EBNF) и генерирует ряд файлов: * исходники лексического анализатора (сканера); работает как детерминированный конечный автомат. * исходники синтаксического анализатора (парсера); использует метод нисходящего рекурсивного спуска. * информационные файлы (лог, таблица лексем языка). Использование Сосо/R является очень простым. Создаваемый программой код является быстрым и лёгким для понимания. Сама программа уже реализована на множестве языков, и генерирует исходники компилятора так же на множестве языков. Существуют версии Сосо/R, создающие исходники на Java, C++, C#, Delphi, Pascal, Ada, Modula-2, Modula-3, Oberon, Component Pascal и других языках. Разработка своего языка заключается в разработке файла грамматики языка. В грамматику языка добавляется специального вида комментарии (. .), в которых заключен код для выполнения дополнительных действий. Как правило, это код для занесения данных в таблицы идентификаторов, генерации кода или его интерпретации. (ru)
dbo:author
dbo:computingPlatform
dbo:genre
dbo:license
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 862658 (xsd:integer)
dbo:wikiPageLength
  • 4845 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1069769163 (xsd:integer)
dbo:wikiPageWikiLink
dbp:author
  • Hanspeter Mössenböck and others (en)
dbp:cs1Dates
  • y (en)
dbp:date
  • January 2020 (en)
dbp:genre
  • Parser/scanner generator (en)
dbp:license
dbp:name
  • "manual" (en)
  • Coco/R (en)
dbp:p
  • 6 (xsd:integer)
dbp:platform
dbp:released
  • 2005 (xsd:integer)
dbp:website
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • Coco/R は、対象となる言語の属性付き文法を入力とし、その言語の字句解析器と構文解析器を生成するパーサジェネレータである。字句解析部は一種の決定性有限状態機械として機能する。構文解析部には再帰下降構文解析によるLL法を使う。LL(1)での衝突の解決には、複数シンボルの先読みを行うか、意味論的チェックを行う。そのため、任意の k の LL(k) の文法クラスに対応可能である。 Coco/R にはいくつかの言語での実装がある。のリリースした最新版では、C#版とJava版がある。生成される構文解析器がそれらの言語で書かれている。 Coco/R は修正を加えた GNU General Public License でライセンスされ、配布されている。 (ja)
  • Coco/R is a compiler generator that takes wirth syntax notation grammars of a source language and generates a scanner and a parser for that language. The scanner works as a deterministic finite automaton. It supports Unicode characters in UTF-8 encoding and can be made case-sensitive or case-insensitive. It can also recognize tokens based on their right-hand-side context. In addition to terminal symbols the scanner can also recognize pragmas, which are tokens that are not part of the syntax but can occur anywhere in the input stream (e.g. compiler directives or end-of-line characters). (en)
  • Coco/R ist ein Parsergenerator, der aus einer L-attributierten EBNF-Grammatik einer Quellsprache einen Scanner und einen Parser für diese Sprache erzeugt. Der Scanner arbeitet als endlicher Automat. Er unterstützt Unicode-Zeichen in UTF-8-Kodierung und kann so konfiguriert werden, dass Groß-/Kleinschreibung ignoriert wird. Die Erkennung von Symbolen kann von ihrem rechten Kontext abhängig gemacht werden. Zusätzlich zu Terminalsymbolen kann der Scanner auch Pragmas verarbeiten, d. h. Symbole, die nicht zur Syntax der Sprache gehören, sondern an beliebiger Stelle des Eingabestroms vorkommen können (z. B. Compiler-Direktiven oder Zeilenende-Zeichen). (de)
  • Сосо/R — программа генерации компиляторов или интерпретаторов языка. Программа читает файл с атрибутивной грамматикой реализуемого языка, описанной в форме РБНФ (Расширенная форма Бэкуса — Наура, EBNF) и генерирует ряд файлов: * исходники лексического анализатора (сканера); работает как детерминированный конечный автомат. * исходники синтаксического анализатора (парсера); использует метод нисходящего рекурсивного спуска. * информационные файлы (лог, таблица лексем языка). Использование Сосо/R является очень простым. Создаваемый программой код является быстрым и лёгким для понимания. (ru)
rdfs:label
  • Coco/R (en)
  • Coco/R (de)
  • Coco/R (ja)
  • Coco/R (ru)
owl:sameAs
prov:wasDerivedFrom
foaf:homepage
foaf:isPrimaryTopicOf
foaf:name
  • Coco/R (en)
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License