Bootstrapping (compilers) (original) (raw)

About DBpedia

Le bootstrapping décrit en informatique les techniques fondées sur l'écriture d'un compilateur (ou d'un assembleur) dans le langage de programmation cible qu'il doit compiler. De ce fait, il s'agit d'une technique de développement (sur un même système) ou de portage (d'un système à l'autre), qui part d'un premier compilateur minimal écrit de façon classique, amorçant une suite de versions, chacune préférable à la précédente. Cette technique se révèle plus facile et plus rapide que l'écriture directe d'un produit final ambitieux.[réf. nécessaire]

Property Value
dbo:abstract In computer science, bootstrapping is the technique for producing a self-compiling compiler – that is, a compiler (or assembler) written in the source programming language that it intends to compile. An initial core version of the compiler (the bootstrap compiler) is generated in a different language (which could be assembly language); successive expanded versions of the compiler are developed using this minimal subset of the language. The problem of compiling a self-compiling compiler has been called the chicken-or-egg problem in compiler design, and bootstrapping is a solution to this problem. Many compilers for many programming languages are bootstrapped, including compilers for BASIC, ALGOL, C, C#, D, Pascal, PL/I, Haskell, Modula-2, Oberon, OCaml, Common Lisp, Scheme, Go, Java, Elixir, Rust, Python, Scala, Nim, Eiffel, TypeScript, Vala, Zig and more. (en) Bootstrapping (auch Ureingabe) bezeichnet in der Programmierung den Prozess, mit einfachen Entwicklungswerkzeugen mächtigere zu programmieren. Die einfachste Umgebung ist etwa ein sehr grundlegender Texteditor und ein Assembler. Mit diesen Werkzeugen kann man einen komplexeren Texteditor und einen einfachen Compiler für eine höhere Programmiersprache schreiben, und so weiter, bis man eine grafische integrierte Entwicklungsumgebung und eine sehr hohe Programmiersprache hat. Compiler für eine Programmiersprache X werden oft in derselben Programmiersprache X geschrieben (Beispiele: Fast alle C-Compiler, Free Pascal, PyPy, Glasgow Haskell Compiler). Damit ergibt sich ein Henne-Ei-Problem: Wie wird der neue Compiler erstmals kompiliert? Mögliche Wege sind: * Ein weiterer Compiler für X wurde in einer anderen Programmiersprache Y geschrieben. * Frühere Versionen des Compilers wurden in einer Teilmenge von X geschrieben, für die ein anderer Compiler existierte. * Der Compiler für X ist cross compiled von einer anderen Architektur, auf der ein Compiler für X existiert. * Der Compiler wurde von Hand kompiliert und möglicherweise hinterher auf seinen eigenen Quellcode angewendet. Das bedeutet, dass ein Programmierer den Compiler in eine Hardware-nähere Sprache bringt, z. B. mit Hilfe der Befehlssatzarchitektur in Assemblersprache. * Der Compiler hat sich selbst mithilfe eines Interpreters, der in einer anderen Sprache Y geschrieben wurde, kompiliert. (de) Le bootstrapping décrit en informatique les techniques fondées sur l'écriture d'un compilateur (ou d'un assembleur) dans le langage de programmation cible qu'il doit compiler. De ce fait, il s'agit d'une technique de développement (sur un même système) ou de portage (d'un système à l'autre), qui part d'un premier compilateur minimal écrit de façon classique, amorçant une suite de versions, chacune préférable à la précédente. Cette technique se révèle plus facile et plus rapide que l'écriture directe d'un produit final ambitieux.[réf. nécessaire] (fr) ブートストラップ問題 (Bootstrap problem) は、コンパイラをコンパイル対象のプログラミング言語で作成した際に、そのコンパイラの最初のコンパイルをどうするかといった場合を典型的な例とする、いわゆる「鶏と卵」の形をしたセルフホスティング環境の問題を指す。これを解決するための方式をブートストラップ方式といい、この問題を何とかして最初の完備した環境を作ることをブートストラッピングという。 名前についてはブートストラップの記事を参照。 (ja) Een bootstrapcompiler is een compiler die geschreven is in zijn eigen brontaal. Op het eerste gezicht is dat onmogelijk en in eerste instantie is dat ook zo. De allereerste computers waren bijzonder lastig te programmeren. Met schakelaars moesten nullen en enen worden ingesteld om een programma in machinetaal in het geheugen te zetten. Toen er eindelijk een eenvoudig programma in het geheugen stond waarmee gegevens in het computergeheugen konden worden ingevoerd, had men de mogelijkheid een gecompliceerder programma in te voeren. Zo ontstond de assembler, een programma dat mnemonische codes omzet in machinetaal. Vervolgens kon men in de assembleertaal een eenvoudige compiler schrijven. Die compiler kon worden gebruikt voor een betere compiler. Uiteindelijk kan men besluiten de compiler nog een keer te schrijven, nu in zijn eigen taal, en die met de reeds gecompileerde compiler te compileren. Dit is een bootstrapcompiler. Deze is eenvoudig te onderhouden en te wijzigen omdat de gebruiker maar een programmeertaal hoeft te gebruiken. (nl) 부트스트래핑(bootstrapping)은 컴퓨터 과학에서 컴파일러 (또는 어셈블러)를 컴파일 하고자 하는 프로그래밍 언어로 작성하는 과정이다. 이 기술의 적용은 로 이어진다. BASIC, ALGOL, C, Pascal, PL/I, 팩터, , Modula-2, 오베론, OCaml, Common Lisp, 스킴, 자바, 파이썬, 스칼라, , 등 수많은 프로그래밍 언어들의 컴파일러들이 부트스트래핑 되었다. (ko) Раскрутка компилятора (англ. bootstrapping — от boot и strap) — метод создания транслятора для некоторого языка программирования, при котором транслятор пишется на том же языке программирования, для трансляции которого создаётся; создание транслятором исполняемых файлов из исходного кода самого транслятора. Используется для переноса трансляторов на новые платформы. Появился в середине 1950-х годов. Позволяет создать транслятор, который генерирует сам себя. Применялся для создания трансляторов многих языков программирования, включая языки «Бейсик», «Алгол», «Си», «Паскаль», «ПЛ/1», Factor, Haskell, «Модула-2», «Оберон», OCaml, Common Lisp, Scheme, Java, Python, Scala, Nemerle, Kotlin и другие. (ru) Розкрутка компілятора (англ. bootstrapping — від boot і strap) — метод створення транслятора для деякої мови програмування, при якому транслятор пишеться на тій же мові програмування, для трансляції якої створюється; створення транслятором виконуваних файлів з початкового коду самого транслятора. Використовується для перенесення трансляторів на нові платформи. З'явився в середині 1950-х років. Дозволяє створити транслятор, який генерує сам себе. Застосовувався для створення трансляторів багатьох мов програмування, включаючи мови Basic, ALGOL, C, Pascal, Haskell, Оберон, OCaml, Common Lisp, Scheme, Java, Python, Scala, Nemerle та інші. (uk)
dbo:wikiPageID 2384332 (xsd:integer)
dbo:wikiPageLength 12047 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1119124239 (xsd:integer)
dbo:wikiPageWikiLink dbr:Python_(programming_language) dbr:Scala_(programming_language) dbr:Scheme_(programming_language) dbr:Rice's_Theorem dbr:Vala_(programming_language) dbr:Interpreter_(computing) dbr:Notation dbr:Common_Lisp dbr:Compiler dbr:Rust_(programming_language) dbr:Chicken_or_the_egg dbr:Object_file dbr:Clang dbr:Eiffel_(programming_language) dbr:Elixir_(programming_language) dbr:Free_Pascal dbr:Go_(programming_language) dbr:Modula-2 dbr:NELIAC dbr:Cross_compiler dbr:Computer_science dbr:Zig_(programming_language) dbr:Pascal_programming_language dbr:Theoretical_computer_science dbr:BASIC dbr:Burroughs_B5000 dbr:C++ dbr:C_(programming_language) dbr:C_Sharp_(programming_language) dbr:TypeScript dbr:WEB dbr:ALGOL dbr:D_(programming_language) dbr:Fortran dbr:Bare_machine dbr:Niklaus_Wirth dbr:Nim_(programming_language) dbr:PL/I dbr:Pascal_(programming_language) dbr:Machine_code dbr:S-expression dbr:Halting_problem dbr:Haskell dbr:Haskell_(programming_language) dbr:Java_(programming_language) dbr:Assembly_language dbc:Compilers dbc:Compiler_construction dbr:Eating_your_own_dog_food dbr:High-level_programming_language dbr:Tombstone_diagram dbr:Donald_Knuth dbc:Compiler_theory dbr:Bytecode dbr:Microsoft_Visual_C++ dbr:OCaml dbr:Oberon_(programming_language) dbr:Self-interpreter dbr:Self-hosting_(compilers) dbr:Runtime_system dbr:Indirect_self-modification dbr:Metacompiler dbr:Literate_programming dbr:Programming_language dbr:Lisp_programming_language dbr:Trusting_trust dbr:G++ dbr:Cross-compilation dbr:T-diagram
dbp:wikiPageUsesTemplate dbt:About dbt:Blockquote dbt:Main dbt:Short_description
dcterms:subject dbc:Compilers dbc:Compiler_construction dbc:Compiler_theory
gold:hypernym dbr:Process
rdf:type yago:WikicatCompilers yago:CausalAgent100007347 yago:Communicator109610660 yago:Compiler109946957 yago:LivingThing100004258 yago:Object100002684 yago:Organism100004475 yago:Person100007846 yago:PhysicalEntity100001930 yago:Writer110794014 yago:YagoLegalActor yago:YagoLegalActorGeo dbo:Election yago:Whole100003553
rdfs:comment Le bootstrapping décrit en informatique les techniques fondées sur l'écriture d'un compilateur (ou d'un assembleur) dans le langage de programmation cible qu'il doit compiler. De ce fait, il s'agit d'une technique de développement (sur un même système) ou de portage (d'un système à l'autre), qui part d'un premier compilateur minimal écrit de façon classique, amorçant une suite de versions, chacune préférable à la précédente. Cette technique se révèle plus facile et plus rapide que l'écriture directe d'un produit final ambitieux.[réf. nécessaire] (fr) ブートストラップ問題 (Bootstrap problem) は、コンパイラをコンパイル対象のプログラミング言語で作成した際に、そのコンパイラの最初のコンパイルをどうするかといった場合を典型的な例とする、いわゆる「鶏と卵」の形をしたセルフホスティング環境の問題を指す。これを解決するための方式をブートストラップ方式といい、この問題を何とかして最初の完備した環境を作ることをブートストラッピングという。 名前についてはブートストラップの記事を参照。 (ja) 부트스트래핑(bootstrapping)은 컴퓨터 과학에서 컴파일러 (또는 어셈블러)를 컴파일 하고자 하는 프로그래밍 언어로 작성하는 과정이다. 이 기술의 적용은 로 이어진다. BASIC, ALGOL, C, Pascal, PL/I, 팩터, , Modula-2, 오베론, OCaml, Common Lisp, 스킴, 자바, 파이썬, 스칼라, , 등 수많은 프로그래밍 언어들의 컴파일러들이 부트스트래핑 되었다. (ko) Раскрутка компилятора (англ. bootstrapping — от boot и strap) — метод создания транслятора для некоторого языка программирования, при котором транслятор пишется на том же языке программирования, для трансляции которого создаётся; создание транслятором исполняемых файлов из исходного кода самого транслятора. Используется для переноса трансляторов на новые платформы. Появился в середине 1950-х годов. Позволяет создать транслятор, который генерирует сам себя. Применялся для создания трансляторов многих языков программирования, включая языки «Бейсик», «Алгол», «Си», «Паскаль», «ПЛ/1», Factor, Haskell, «Модула-2», «Оберон», OCaml, Common Lisp, Scheme, Java, Python, Scala, Nemerle, Kotlin и другие. (ru) Розкрутка компілятора (англ. bootstrapping — від boot і strap) — метод створення транслятора для деякої мови програмування, при якому транслятор пишеться на тій же мові програмування, для трансляції якої створюється; створення транслятором виконуваних файлів з початкового коду самого транслятора. Використовується для перенесення трансляторів на нові платформи. З'явився в середині 1950-х років. Дозволяє створити транслятор, який генерує сам себе. Застосовувався для створення трансляторів багатьох мов програмування, включаючи мови Basic, ALGOL, C, Pascal, Haskell, Оберон, OCaml, Common Lisp, Scheme, Java, Python, Scala, Nemerle та інші. (uk) In computer science, bootstrapping is the technique for producing a self-compiling compiler – that is, a compiler (or assembler) written in the source programming language that it intends to compile. An initial core version of the compiler (the bootstrap compiler) is generated in a different language (which could be assembly language); successive expanded versions of the compiler are developed using this minimal subset of the language. The problem of compiling a self-compiling compiler has been called the chicken-or-egg problem in compiler design, and bootstrapping is a solution to this problem. (en) Bootstrapping (auch Ureingabe) bezeichnet in der Programmierung den Prozess, mit einfachen Entwicklungswerkzeugen mächtigere zu programmieren. Die einfachste Umgebung ist etwa ein sehr grundlegender Texteditor und ein Assembler. Mit diesen Werkzeugen kann man einen komplexeren Texteditor und einen einfachen Compiler für eine höhere Programmiersprache schreiben, und so weiter, bis man eine grafische integrierte Entwicklungsumgebung und eine sehr hohe Programmiersprache hat. (de) Een bootstrapcompiler is een compiler die geschreven is in zijn eigen brontaal. Op het eerste gezicht is dat onmogelijk en in eerste instantie is dat ook zo. De allereerste computers waren bijzonder lastig te programmeren. Met schakelaars moesten nullen en enen worden ingesteld om een programma in machinetaal in het geheugen te zetten. Toen er eindelijk een eenvoudig programma in het geheugen stond waarmee gegevens in het computergeheugen konden worden ingevoerd, had men de mogelijkheid een gecompliceerder programma in te voeren. Zo ontstond de assembler, een programma dat mnemonische codes omzet in machinetaal. (nl)
rdfs:label Bootstrapping (Programmierung) (de) Bootstrapping (compilers) (en) Bootstrap (compilateur) (fr) ブートストラップ問題 (ja) 부트스트랩 (컴파일러) (ko) Bootstrapcompiler (nl) Раскрутка компилятора (ru) Розкрутка компілятора (uk)
owl:sameAs freebase:Bootstrapping (compilers) yago-res:Bootstrapping (compilers) wikidata:Bootstrapping (compilers) dbpedia-de:Bootstrapping (compilers) dbpedia-fa:Bootstrapping (compilers) dbpedia-fr:Bootstrapping (compilers) dbpedia-ja:Bootstrapping (compilers) dbpedia-ko:Bootstrapping (compilers) dbpedia-nl:Bootstrapping (compilers) dbpedia-ru:Bootstrapping (compilers) dbpedia-sr:Bootstrapping (compilers) dbpedia-uk:Bootstrapping (compilers) https://global.dbpedia.org/id/53Hp2
prov:wasDerivedFrom wikipedia-en:Bootstrapping_(compilers)?oldid=1119124239&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Bootstrapping_(compilers)
is dbo:wikiPageDisambiguates of dbr:Bootstrapping_(disambiguation)
is dbo:wikiPageRedirects of dbr:Bootstrap_compiler dbr:Compiler_bootstrapping
is dbo:wikiPageWikiLink of dbr:PyPy dbr:History_of_compiler_construction dbr:HyperTalk dbr:List_of_computer_term_etymologies dbr:Umple dbr:Vala_(programming_language) dbr:Interpreter_(computing) dbr:Rust_(programming_language) dbr:S-algol dbr:Chicken_or_the_egg dbr:Free_Pascal dbr:GNU_Compiler_Collection dbr:Gentoo_Linux dbr:Glasgow_Haskell_Compiler dbr:NELIAC dbr:Cross_compiler dbr:Small-C dbr:Standard_ML_of_New_Jersey dbr:Comparison_of_Pascal_and_Delphi dbr:Zig_(programming_language) dbr:BCPL dbr:ALGOL_68RS dbr:Cygwin dbr:Pugs_(programming) dbr:Java_(programming_language) dbr:Bootstrapping_(disambiguation) dbr:Jikes_RVM dbr:XPL dbr:Tombstone_diagram dbr:Autocatalytic_set dbr:Portable_Standard_Lisp dbr:Greenspun's_tenth_rule dbr:OpenJDK dbr:Red_(programming_language) dbr:Cfront dbr:Self-reference dbr:Self-hosting_(compilers) dbr:Macro_(computer_science) dbr:Transformation_language dbr:Racket_features dbr:Porting dbr:VAX_Common_Lisp dbr:Bootstrap_compiler dbr:Compiler_bootstrapping
is foaf:primaryTopic of wikipedia-en:Bootstrapping_(compilers)