Coco/R (original) (raw)

About DBpedia

Coco/R は、対象となる言語の属性付き文法を入力とし、その言語の字句解析器と構文解析器を生成するパーサジェネレータである。字句解析部は一種の決定性有限状態機械として機能する。構文解析部には再帰下降構文解析によるLL法を使う。LL(1)での衝突の解決には、複数シンボルの先読みを行うか、意味論的チェックを行う。そのため、任意の k の LL(k) の文法クラスに対応可能である。 Coco/R にはいくつかの言語での実装がある。のリリースした最新版では、C#版とJava版がある。生成される構文解析器がそれらの言語で書かれている。 Coco/R は修正を加えた GNU General Public License でライセンスされ、配布されている。

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 dbr:Hanspeter_Mössenböck
dbo:computingPlatform dbr:Cross-platform
dbo:genre dbr:Parser
dbo:license dbr:GPL2
dbo:wikiPageExternalLink http://cocor.codeplex.com/ http://ssw.jku.at/Research/Projects/Coco/ http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/ http://www.ssw.uni-linz.ac.at/Coco/Doc/UserManual.pdf http://www.ssw.uni-linz.ac.at/Coco/Tutorial/ https://github.com/michaeldz/Coco.VSPlugin.VS2015 https://web.archive.org/web/20150910072441/http:/www.scifac.ru.ac.za/coco/
dbo:wikiPageID 862658 (xsd:integer)
dbo:wikiPageLength 4845 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1069769163 (xsd:integer)
dbo:wikiPageWikiLink dbr:Python_(programming_language) dbr:Ruby_(programming_language) dbr:Delphi_(programming_language) dbr:Deterministic_finite_automaton dbr:UTF-8 dbr:Unicode dbr:Lexical_analysis dbr:Compiler_generator dbr:Cross-platform dbr:GNU_General_Public_License dbr:Modula-2 dbr:Modula-3 dbr:LL_parser dbr:C++ dbr:C_Sharp_(programming_language) dbr:ANTLR dbr:Eclipse_(software) dbr:Pascal_(programming_language) dbr:Carl_Hanser_Verlag dbr:Hanspeter_Mössenböck dbr:JavaCC dbr:Java_(programming_language) dbc:Parser_generators dbr:ETHZ dbr:University_of_Linz dbr:Wirth_syntax_notation dbr:SableCC dbr:Parser dbr:Johannes_Kepler_University_of_Linz dbr:GPL2 dbr:VB.NET dbr:Fuzzy_string_searching dbr:Addison_Wesley dbr:Recursive_descent dbr:Compiler_directive
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 dbr:GPL2
dbp:name "manual" (en) Coco/R (en)
dbp:p 6 (xsd:integer)
dbp:platform dbr:Cross-platform
dbp:released 2005 (xsd:integer)
dbp:website http://ssw.jku.at/Research/Projects/Coco/
dbp:wikiPageUsesTemplate dbt:Cite_book dbt:Infobox_software dbt:More_citations_needed dbt:Multiple_issues dbt:Notability dbt:Portal dbt:R dbt:Redir dbt:Reflist dbt:Use_dmy_dates
dct:subject dbc:Parser_generators
gold:hypernym dbr:Generator
rdf:type owl:Thing dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:Writing106359877 yago:WrittenCommunication106349220 yago:Software106566077
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 freebase:Coco/R wikidata:Coco/R dbpedia-de:Coco/R dbpedia-ja:Coco/R dbpedia-ru:Coco/R https://global.dbpedia.org/id/48YRv
prov:wasDerivedFrom wikipedia-en:Coco/R?oldid=1069769163&ns=0
foaf:homepage http://ssw.jku.at/Research/Projects/Coco/
foaf:isPrimaryTopicOf wikipedia-en:Coco/R
foaf:name Coco/R (en)
is dbo:wikiPageDisambiguates of dbr:Coco
is dbo:wikiPageRedirects of dbr:Coco-2 dbr:Coco_(compiler)
is dbo:wikiPageWikiLink of dbr:List_of_filename_extensions_(A–E) dbr:Parsing dbr:History_of_compiler_construction dbr:List_of_programming_languages_by_type dbr:Grammatica dbr:Comparison_of_parser_generators dbr:Compiler-compiler dbr:Backus–Naur_form dbr:Coco dbr:Coco-2 dbr:Coco_(compiler) dbr:ANTLR dbr:Hanspeter_Mössenböck dbr:Recursive_descent_parser dbr:Irony_(framework) dbr:JavaCC dbr:JetPAG dbr:SableCC
is foaf:primaryTopic of wikipedia-en:Coco/R