Compiler-compiler (original) (raw)
Im Compilerbau ist ein Parsergenerator ein Computerprogramm, das auf Grundlage einer Spezifikation einen Parser generiert.
Property | Value |
---|---|
dbo:abstract | Generátor překladačů (anglicky compiler-compiler nebo compiler generator) je v matematické informatice , který vytváří syntaktický analyzátor, interpret nebo překladač z formálního popisu jazyka a cílového stroje. Nejstarším a dosud nejrozšířenějším typem generátorů překladačů je generátor syntaktických analyzátorů (anglicky parser generator), jehož vstupem je gramatika (obvykle v BNF) programovacího jazyka a výstupem zdrojový text syntaktického analyzátoru, který lze použít jako součást překladače. Existují také generátory generátorů kódu (anglicky code generator-generators) (jako například JBurg), ale zatím nedosáhly potřebné zralosti. Ideální generátor překladačů by měl z popisu programovacího jazyka a cílové instrukční sady automaticky vygenerovat použitelný překladač. Ale tohoto stupně dokonalosti zatím nedosáhly ani nejmodernější generátory, a většina generátorů překladačů zatím není schopna zpracovávat informace o sémantice nebo cílové architektuře. (cs) Im Compilerbau ist ein Parsergenerator ein Computerprogramm, das auf Grundlage einer Spezifikation einen Parser generiert. (de) In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of formal description of a programming language and machine. The most common type of compiler-compiler is more precisely called a parser generator. It only handles syntactic analysis. The input of a parser generator is a grammar file, typically written in Backus–Naur form (BNF) or extended Backus–Naur form (EBNF) that defines the syntax of a target programming language. The output is the source code of a parser for the programming language. The output of the (compiled) parser source code is a parser. It may be either standalone or embedded. This parser takes as an input the source code of the target programming language source and performs some action or outputs an abstract syntax tree (AST). Parser generators do not handle the semantics of the AST, or the generation of machine code for the target machine. A metacompiler is a software development tool used mainly in the construction of compilers, translators, and interpreters for other programming languages. The input to a metacompiler is a computer program written in a specialized programming metalanguage designed mainly for the purpose of constructing compilers. The language of the compiler produced is called the object language. The minimal input producing a compiler is a metaprogram specifying the object language grammar and semantic transformations into an object program. (en) El compilador compilador es una herramienta informática que crea un programa al analizar, interpretar o compilar desde algún tipo de descripción formal de un lenguaje al lenguaje del computador. La forma original y más extendida de compilador de computador es un generador de filtros, cuya entrada es una sintaxis (por lo general en BNF) de un lenguaje de programación y cuya salida es el código fuente de un programa de análisis, que a menudo se utiliza como componente de un compilador. El compilador de computador ideal toma la descripción de un lenguaje de programación y una arquitectura de instrucciones fijada, y genera automáticamente un compilado de ellos. En la práctica, el estado de la técnica aún tiene que llegar a este grado de sofisticación y la mayoría de los generadores compiladores no son capaces de manejar arquitectura de información semántica o de destino. (es) En informatique, un compilateur de compilateur est un programme capable de produire la totalité ou certaines parties du code source d'un compilateur (partie analyse lexicale, partie analyse syntaxique, partie analyse sémantique, partie synthèse, partie de gestion des erreurs, etc.) pour former en un tout cohérent, le code source du compilateur souhaité. (fr) パーサジェネレータ(英: parser generator)は、構文解析器(解釈)を作成するプログラムである。 (ja) 컴파일러 컴파일러(Compiler-compiler)는 컴파일러를 만들기 위한 컴파일러를 의미한다. 일반적으로 컴파일러는 어떠한 프로그래밍 언어로 씌여진 원시 코드(source code)를 분석 파일(object file)로 변환하는 기능을 하는 프로그램을 의미하지만 그 컴파일러를 만들려면 엄청난 기술적 구현 능력과 고생이 요구된다. 그래서 컴파일러 그 자체 또는 컴파일러가 제공하는 구문 분석 기능을 자동으로 만드는 프로그램으로 컴파일러 컴파일러를 고안하여 개발하였다. (ko) Un generatore di parser (in inglese parser generator, a volte anche chiamato compiler-compiler) è uno strumento per la generazione del codice sorgente di un parser, un interprete o un compilatore a partire dalla descrizione data da un linguaggio annotato nella forma di grammatica, generalmente BNF, insieme a del codice associato ad ognuna delle regole della grammatica, codice che deve essere eseguito ogni volta che la regola è applicata dal parser. Questi pezzi di codice sono spesso chiamati funzioni di azioni semantiche poiché definiscono la semantica della struttura sintattica analizzata dal parser. A seconda del tipo di parser generato, queste funzioni possono costruire un albero sintattico concreto o astratto oppure possono generare del codice in un altro linguaggio, talvolta direttamente codice eseguibile. (it) Een parsergenerator, ook wel compiler compiler genoemd, is een programma dat helpt bij het implementeren van een compiler (of interpreter). Op basis van een specificatie van een formele grammatica (vaak in BNF of EBNF) creëert een parsergenerator een complete parser voor de gespecificeerde grammatica. Daarnaast bieden veel parsergenerators ook de mogelijkheid om, behalve een parser, nog andere functionaliteit te genereren die gebruikt wordt in compilers. Denk hierbij bijvoorbeeld aan een lexer of een vertaler die een concrete syntaxisboom naar een abstracte syntaxisboom vertaald. (nl) Generator parserów – program generujący analizator składniowy (parser) języka formalnego na podstawie jego opisu, najczęściej w postaci gramatyki. W modelu wzorcowym, generator otrzymuje opis języka w postaci gramatyki, generuje kod źródłowy, który po skompilowaniu daje parser, który z kolei otrzymuje na wejściu z leksera i produkuje drzewo wyprowadzenia lub rozpoznaje błędy składniowe. Generator może pozwalać na dodatkowe informacje w opisie języka np. * łączność i pierwszeństwo operatorów – co pozwala używać prostszych i naturalniejszych gramatyk. * akcje semantyczne, czyli akcje jakie ma podejmować parser po rozpoznaniu pewnego fragmentu wejścia. Pozwala to generować kompilatory, translatory i interpretery, co przekształca generator parserów w generator kompilatorów (ang. compiler-compiler, compiler generator). (pl) Inom datavetenskap är en parsergenerator eller kompilatorgenerator ett verktyg som skapar en parser, interpretator, eller kompilator från en formell beskrivning av ett programspråk och maskin. (sv) Um compilador de compilador (também conhecido como gerador de compilador, gerador de analisador sintático ou ainda gerador de parser) é um algoritmo, um componente de software ou um programa de computador que gera o código fonte de um analisador sintático, interpretador ou compilador de uma linguagem de programação. Na maioria dos casos ele é alimentado com a descrição sintática e semântica da linguagem independente de arquitetura, junto com uma uma descrição do conjunto de instruções da arquitetura independente de linguagem de programação. (pt) Компилятор компиляторов — программа, воспринимающая синтаксическое или семантическое описание языка программирования и генерирующая компилятор для этого языка. Синтаксис выражается в виде БНФ или её производной и должен удовлетворять правилам того метода синтаксического анализа, который будет использоваться в генерируемом компиляторе. Семантика языка обычно описывается путём ассоциирования процедуры генерации кода с каждой синтаксической конструкцией, причём необходимая процедура вызывается всякий раз, когда соответствующая конструкция распознаётся программой синтаксического анализа. Таким образом, пользователю компилятора компиляторов в любом случае нужно разработать исполняющие структуры и выбрать способ преобразования каждой входной синтаксической конструкции в операции выходного языка или в машинные операции, после чего нужно написать собственно процедуры генерации кода. Следовательно, компилятор компиляторов — это полезное средство, помогающее писать компиляторы, но не более того. Строго говоря, генератор программы синтаксического анализа представляет собой часть компилятора компиляторов, однако оба термина часто используются как синонимы. (ru) 一個編譯器編譯程式(compiler-compiler)或者編譯器產生程式(compiler generator)是一個幫助使用者根據某種語言或機器的規則來產生語法分析器,直譯器或者編譯器的工具。目前最早也是最常見的編譯器編譯程式是語法分析器產生程式(parser generator)這個形式,其輸入是一個程式語言的形式文法 (一般是用BNF表示),然後產生出一些語法分析器的程式碼,作為這個語言編譯器的一部分。 理想的編譯器編譯程式,只要給予一個程式語言的完整描述以及目標的指令集架構,然後就能自動從中產生出合適的編譯器。實際上, 最先進的技術還沒有到達這麼複雜的地步,而大多數現有的編譯器產生程式都不能處理語意學或者目標架構的資訊部份。 (zh) |
dbo:wikiPageExternalLink | http://jburg.sourceforge.net/ http://labraj.uni-mb.si/lisa http://www.peacham.com/ http://www.skenz.it/traduttori/ http://special.lib.umn.edu/findaid/xml/cbi00090-098.xml%23series6 http://comjnl.oxfordjournals.org/cgi/content/abstract/9/4/345 http://curation.cs.manchester.ac.uk/atlas/elearn.cs.man.ac.uk/_atlas/docs/An%20Introduction%20to%20the%20Compiler%20Compiler.pdf http://catalog.compilertools.net/ https://archive.org/details/compilergenerato00mcke https://archive.today/20130415173904/http:/comjnl.oxfordjournals.org/cgi/content/abstract/9/4/345 https://github.com/BNFC/bnfc/blob/master/README.md https://web.archive.org/web/20041031031946/http:/www.computer50.org/mark1/gethomas/manchester_autocodes.html http://dl.acm.org/citation.cfm%3Fid=808898 http://bitsavers.informatik.uni-stuttgart.de/pdf/sri/arc/rulifson/A_Tree_Meta_For_The_XDS_940_Appendix_D_Apr68.pdf |
dbo:wikiPageID | 70097 (xsd:integer) |
dbo:wikiPageLength | 40350 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1122519567 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Carnegie_Mellon_University dbr:META_II dbr:MOL-360 dbr:Meta dbr:Metacompilation dbr:Parsing dbr:Bell_Laboratories dbr:Bell_Labs dbr:Denotational_semantics dbr:History_of_compiler_construction dbr:Peter_Mosses dbr:DMS_Software_Reengineering_Toolkit dbr:University_of_Manchester dbr:Unix dbr:Interpreter_(computing) dbr:LALR_parser dbr:Library_(computing) dbr:TREE-META dbr:Compiler dbr:Run_time_(program_lifecycle_phase) dbr:Coco/R dbr:GLR_parser dbr:GNU_Bison dbr:Modula-2 dbr:LISP_2 dbr:LL_parser dbr:LR_parser dbr:Aptiv dbr:Lemon_(parser_generator) dbr:Lex_(software) dbr:Lisp_(programming_language) dbc:Extensible_syntax_programming_languages dbc:Metaprogramming dbc:Program_transformation_tools dbr:Computer_program dbr:Computer_science dbr:Parsing_expression_grammar dbr:SYNTAX dbr:Syntax_(programming_languages) dbr:BASIC dbr:B_(programming_language) dbr:Backus–Naur_form dbr:C++ dbr:COBOL dbr:C_(programming_language) dbc:Software_design dbr:Tony_Brooker dbr:Tree_(data_structure) dbr:Domain-specific_language dbr:Domain_analysis dbr:GNU_Project dbr:Linker_(computing) dbr:Yacc dbr:ALGOL dbr:ALGOL_60 dbr:AN/FSQ-32 dbr:ANTLR dbr:Ada_(programming_language) dbr:Extended_Backus–Naur_form dbr:Flex_(lexical_analyser_generator) dbr:Forth_(programming_language) dbr:Fortran dbr:PL/I dbr:Parboiled_(Java) dbr:Pascal_(programming_language) dbr:Dialect_(computing) dbr:Formal_grammar dbr:Left_recursion dbr:Source_code dbr:Attribute_grammar dbr:JOVIAL dbr:JavaCC dbr:Texas_Instruments dbr:Atlas_(computer) dbr:Atlas_Autocode dbr:ALTRAN dbc:Domain-specific_programming_languages dbc:Parser_generators dbc:Pattern_matching_programming_languages dbr:Abstract_syntax_tree dbc:Compiler_construction dbc:Parsing dbc:Program_analysis dbr:Syntax dbr:System_Development_Corporation dbr:TMG_(language) dbr:Code_generation_(compiler) dbr:Parse_tree dbr:Program_transformation dbr:Translator_(computing) dbr:XPL dbr:Donald_Knuth dbc:Compiler_theory dbr:Metadata dbr:Metalanguage dbr:Metaprogramming dbr:C_programming_language dbr:Xtext dbr:System_programming_language dbr:Semantics dbr:Semantics_(computer_science) dbr:Extensible_programming dbr:Programming_language dbr:The_Art_of_Computer_Programming dbr:SableCC dbr:Simple_LR_parser dbr:PackCC dbr:Packrat_parser dbr:PQCC dbr:Object_language dbr:Interpreter_(computer_software) dbr:Prentice-Hall dbr:Object_program |
dbp:cs1Dates | y (en) |
dbp:date | January 2020 (en) |
dbp:wikiPageUsesTemplate | dbt:Citation_needed dbt:Cite_book dbt:Cite_journal dbt:Distinguish dbt:Fact dbt:In_lang dbt:Main dbt:More_citations_needed dbt:Reflist dbt:See_also dbt:Short_description dbt:Use_dmy_dates dbt:Tone dbt:Parsers |
dct:subject | dbc:Extensible_syntax_programming_languages dbc:Metaprogramming dbc:Program_transformation_tools dbc:Software_design dbc:Domain-specific_programming_languages dbc:Parser_generators dbc:Pattern_matching_programming_languages dbc:Compiler_construction dbc:Parsing dbc:Program_analysis dbc:Compiler_theory |
gold:hypernym | dbr:Tool |
rdf:type | owl:Thing dbo:Software yago:WikicatCompilers yago:CausalAgent100007347 yago:Communicator109610660 yago:Compiler109946957 yago:LivingThing100004258 yago:Object100002684 yago:Organism100004475 yago:Person100007846 yago:PhysicalEntity100001930 yago:Writer110794014 yago:YagoLegalActor yago:YagoLegalActorGeo yago:Whole100003553 |
rdfs:comment | Im Compilerbau ist ein Parsergenerator ein Computerprogramm, das auf Grundlage einer Spezifikation einen Parser generiert. (de) En informatique, un compilateur de compilateur est un programme capable de produire la totalité ou certaines parties du code source d'un compilateur (partie analyse lexicale, partie analyse syntaxique, partie analyse sémantique, partie synthèse, partie de gestion des erreurs, etc.) pour former en un tout cohérent, le code source du compilateur souhaité. (fr) パーサジェネレータ(英: parser generator)は、構文解析器(解釈)を作成するプログラムである。 (ja) 컴파일러 컴파일러(Compiler-compiler)는 컴파일러를 만들기 위한 컴파일러를 의미한다. 일반적으로 컴파일러는 어떠한 프로그래밍 언어로 씌여진 원시 코드(source code)를 분석 파일(object file)로 변환하는 기능을 하는 프로그램을 의미하지만 그 컴파일러를 만들려면 엄청난 기술적 구현 능력과 고생이 요구된다. 그래서 컴파일러 그 자체 또는 컴파일러가 제공하는 구문 분석 기능을 자동으로 만드는 프로그램으로 컴파일러 컴파일러를 고안하여 개발하였다. (ko) Een parsergenerator, ook wel compiler compiler genoemd, is een programma dat helpt bij het implementeren van een compiler (of interpreter). Op basis van een specificatie van een formele grammatica (vaak in BNF of EBNF) creëert een parsergenerator een complete parser voor de gespecificeerde grammatica. Daarnaast bieden veel parsergenerators ook de mogelijkheid om, behalve een parser, nog andere functionaliteit te genereren die gebruikt wordt in compilers. Denk hierbij bijvoorbeeld aan een lexer of een vertaler die een concrete syntaxisboom naar een abstracte syntaxisboom vertaald. (nl) Inom datavetenskap är en parsergenerator eller kompilatorgenerator ett verktyg som skapar en parser, interpretator, eller kompilator från en formell beskrivning av ett programspråk och maskin. (sv) Um compilador de compilador (também conhecido como gerador de compilador, gerador de analisador sintático ou ainda gerador de parser) é um algoritmo, um componente de software ou um programa de computador que gera o código fonte de um analisador sintático, interpretador ou compilador de uma linguagem de programação. Na maioria dos casos ele é alimentado com a descrição sintática e semântica da linguagem independente de arquitetura, junto com uma uma descrição do conjunto de instruções da arquitetura independente de linguagem de programação. (pt) 一個編譯器編譯程式(compiler-compiler)或者編譯器產生程式(compiler generator)是一個幫助使用者根據某種語言或機器的規則來產生語法分析器,直譯器或者編譯器的工具。目前最早也是最常見的編譯器編譯程式是語法分析器產生程式(parser generator)這個形式,其輸入是一個程式語言的形式文法 (一般是用BNF表示),然後產生出一些語法分析器的程式碼,作為這個語言編譯器的一部分。 理想的編譯器編譯程式,只要給予一個程式語言的完整描述以及目標的指令集架構,然後就能自動從中產生出合適的編譯器。實際上, 最先進的技術還沒有到達這麼複雜的地步,而大多數現有的編譯器產生程式都不能處理語意學或者目標架構的資訊部份。 (zh) Generátor překladačů (anglicky compiler-compiler nebo compiler generator) je v matematické informatice , který vytváří syntaktický analyzátor, interpret nebo překladač z formálního popisu jazyka a cílového stroje. Nejstarším a dosud nejrozšířenějším typem generátorů překladačů je generátor syntaktických analyzátorů (anglicky parser generator), jehož vstupem je gramatika (obvykle v BNF) programovacího jazyka a výstupem zdrojový text syntaktického analyzátoru, který lze použít jako součást překladače. Existují také generátory generátorů kódu (anglicky code generator-generators) (jako například JBurg), ale zatím nedosáhly potřebné zralosti. (cs) In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of formal description of a programming language and machine. The most common type of compiler-compiler is more precisely called a parser generator. It only handles syntactic analysis. The input of a parser generator is a grammar file, typically written in Backus–Naur form (BNF) or extended Backus–Naur form (EBNF) that defines the syntax of a target programming language. (en) El compilador compilador es una herramienta informática que crea un programa al analizar, interpretar o compilar desde algún tipo de descripción formal de un lenguaje al lenguaje del computador. La forma original y más extendida de compilador de computador es un generador de filtros, cuya entrada es una sintaxis (por lo general en BNF) de un lenguaje de programación y cuya salida es el código fuente de un programa de análisis, que a menudo se utiliza como componente de un compilador. (es) Un generatore di parser (in inglese parser generator, a volte anche chiamato compiler-compiler) è uno strumento per la generazione del codice sorgente di un parser, un interprete o un compilatore a partire dalla descrizione data da un linguaggio annotato nella forma di grammatica, generalmente BNF, insieme a del codice associato ad ognuna delle regole della grammatica, codice che deve essere eseguito ogni volta che la regola è applicata dal parser. Questi pezzi di codice sono spesso chiamati funzioni di azioni semantiche poiché definiscono la semantica della struttura sintattica analizzata dal parser. A seconda del tipo di parser generato, queste funzioni possono costruire un albero sintattico concreto o astratto oppure possono generare del codice in un altro linguaggio, talvolta direttame (it) Generator parserów – program generujący analizator składniowy (parser) języka formalnego na podstawie jego opisu, najczęściej w postaci gramatyki. W modelu wzorcowym, generator otrzymuje opis języka w postaci gramatyki, generuje kod źródłowy, który po skompilowaniu daje parser, który z kolei otrzymuje na wejściu z leksera i produkuje drzewo wyprowadzenia lub rozpoznaje błędy składniowe. Generator może pozwalać na dodatkowe informacje w opisie języka np. (pl) Компилятор компиляторов — программа, воспринимающая синтаксическое или семантическое описание языка программирования и генерирующая компилятор для этого языка. Синтаксис выражается в виде БНФ или её производной и должен удовлетворять правилам того метода синтаксического анализа, который будет использоваться в генерируемом компиляторе. Строго говоря, генератор программы синтаксического анализа представляет собой часть компилятора компиляторов, однако оба термина часто используются как синонимы. (ru) |
rdfs:label | Generátor překladačů (cs) Parsergenerator (de) Compilador compilador (es) Compiler-compiler (en) Generatore di parser (it) Compilateur de compilateur (fr) パーサジェネレータ (ja) 컴파일러 컴파일러 (ko) Parsergenerator (nl) Generator parserów (pl) Compilador de compilador (pt) Компилятор компиляторов (ru) Parsergenerator (sv) 編譯器編譯程式 (zh) |
rdfs:seeAlso | dbr:Comparison_of_parser_generators |
owl:differentFrom | dbr:Source-to-source_compiler dbr:Self-hosting_compiler |
owl:sameAs | freebase:Compiler-compiler yago-res:Compiler-compiler wikidata:Compiler-compiler dbpedia-cs:Compiler-compiler dbpedia-de:Compiler-compiler dbpedia-es:Compiler-compiler dbpedia-fa:Compiler-compiler dbpedia-fr:Compiler-compiler http://hi.dbpedia.org/resource/कम्पाइलर_का_कम्पाइलर dbpedia-it:Compiler-compiler dbpedia-ja:Compiler-compiler dbpedia-ko:Compiler-compiler dbpedia-nl:Compiler-compiler dbpedia-no:Compiler-compiler dbpedia-pl:Compiler-compiler dbpedia-pt:Compiler-compiler dbpedia-ru:Compiler-compiler dbpedia-sq:Compiler-compiler dbpedia-sv:Compiler-compiler dbpedia-vi:Compiler-compiler dbpedia-zh:Compiler-compiler https://global.dbpedia.org/id/97W6 |
prov:wasDerivedFrom | wikipedia-en:Compiler-compiler?oldid=1122519567&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Compiler-compiler |
is dbo:knownFor of | dbr:Tony_Brooker |
is dbo:wikiPageRedirects of | dbr:Compiler_generator dbr:Metacompiler dbr:Parser_compiler dbr:Parser_generator dbr:Parser_generators dbr:Compiler_Compiler dbr:Compiler_compiler dbr:Compiler_development_tools dbr:Semantic_action_routine |
is dbo:wikiPageWikiLink of | dbr:ML/I dbr:Parsing dbr:History_of_compiler_construction dbr:Peter_Mosses dbr:List_of_programming_languages_by_type dbr:TREE-META dbr:Compiler dbr:Compiler_generator dbr:OMeta dbr:Mxparser dbr:Operator-precedence_parser dbr:Comparison_of_parser_generators dbr:Yet_another dbr:Backus–Naur_form dbr:CPL_(programming_language) dbr:Timeline_of_computing_1950–1979 dbr:Tom_Kilburn dbr:Tony_Brooker dbr:Language_workbench dbr:Yacc dbr:Chart_parser dbr:Atlas_(computer) dbr:Atlas_Autocode dbr:JetPAG dbr:Lawrence_Paulson dbr:Susan_G._Bond dbr:TMG_(language) dbr:Code_generation_(compiler) dbr:Canonical_LR_parser dbr:Self-hosting_(compilers) dbr:Vienna_Development_Method dbr:Metacompiler dbr:Extensible_programming dbr:Parser_compiler dbr:UNCOL dbr:PQCC dbr:Parser_generator dbr:Parser_generators dbr:Compiler_Compiler dbr:Compiler_compiler dbr:Compiler_development_tools dbr:Semantic_action_routine |
is dbp:knownFor of | dbr:Tony_Brooker |
is owl:differentFrom of | dbr:History_of_compiler_construction dbr:Source-to-source_compiler |
is foaf:primaryTopic of | wikipedia-en:Compiler-compiler |