Jaké Je to Vyvíjet Prekladace?
Total Page:16
File Type:pdf, Size:1020Kb
Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes Jaké je to vyvíjet prekladaˇ ce?ˇ Jan Hubickaˇ Katedra aplikované matematiky Filosofické problémy informatiky Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes Co je GCC GNU Compiler collection: • Prekladaˇ cˇ C, C++, obj-C, obj-C++, Fortranu, Ady, Go,. • Podporující více než 50 procesor˚ua nekolikˇ set target˚u(kombinací procesor+OS) • Vyvjený od 80. let jako jeden ze základních balík˚uGNU projektu • První verze vydaná v roce 1987 • Verze 8 vyjde tento týden? • 10m rádek,ˇ cca 100-150 aktivních vývojár˚u,odhademˇ 2000 clovˇ ekoletˇ Hacker na MIT od 1971. V záríˇ 1983 oznamuje GNU operating system. 1984 ochází a venujeˇ se GNU projektu. Zacalˇ vyvíjet základní nástroje Emacs, GCC, GDB, make, . Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes Richard Mathew Stallman (RMS) vs Xerox 9700 Hacker na MIT od 1971. V záríˇ 1983 oznamuje GNU operating system. 1984 ochází a venujeˇ se GNU projektu. Zacalˇ vyvíjet základní nástroje Emacs, GCC, GDB, make, . Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes Richard Mathew Stallman (RMS) vs Xerox 9700 Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes Richard Mathew Stallman (RMS) vs Xerox 9700 Hacker na MIT od 1971. V záríˇ 1983 oznamuje GNU operating system. 1984 ochází a venujeˇ se GNU projektu. Zacalˇ vyvíjet základní nástroje Emacs, GCC, GDB, make, . Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes 23. záríˇ 1983: RMS oznamuje GNU projekt Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu’s Not Unix), and give it away free to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed. To begin with, GNU will be a kernel plus all the utilities needed to write and run C programs: editor, shell, C compiler, linker, assembler, and a few other things. After this we will add a text formatter, a YACC, an Empire game, a spreadsheet, and hundreds of other things. We hope to supply, eventually, everything useful that normally comes with a Unix system, and anything else useful, including on-line and hardcopy documentation. GNU will be able to run Unix programs, but will not be identical to Unix. We will make all improvements that are convenient, based on our experience with other operating systems. In particular, we plan to have longer filenames, file version numbers, a crashproof file system, filename completion perhaps, terminal-independent display support, and eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will have network software based on MIT’s chaosnet protocol, far superior to UUCP. We may also have something compatible with UUCP. [. ] I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement. Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes • 1976: První Emacs • 1984: GNU Emacs distribuovaný vcetnˇ eˇ zdroják˚u(za 150 dolar˚u) • 1985: založena Free Software Foundation, GNU Manifesto, Emacs General public licence • 1987: GNU C compiler (GCC), 110k rádekˇ • 1989: GNU General Public Licence (GPL) • 1991: Linux Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes 22. breznaˇ 1983: RMS vydává GCC 0.9 Date: Sun, 22 Mar 87 10:56:56 EST From: rms (Richard M. Stallman) The GNU C compiler is now available for ftp from the file /u2/emacs/gcc.tar on prep.ai.mit.edu. This includes machine descriptions for vax and sun, 60 pages of documentation on writing machine descriptions (internals.texinfo, internals.dvi and Info file internals). This also contains the ANSI standard (Nov 86) C preprocessor and 30 pages of reference manual for it. This compiler compiles itself correctly on the 68020 and did so recently on the vax. It recently compiled Emacs correctly on the 68020, and has also compiled tex-in-C and Kyoto Common Lisp. However, it probably still has numerous bugs that I hope you will find for me. I will be away for a month, so bugs reported now will not be handled until then. If you can’t ftp, you can order a compiler beta-test tape from the Free Software Foundation for $150 (plus 5% sales tax in Massachusetts, or plus $15 overseas if you want air mail). Free Software Foundation 1000 Mass Ave Cambridge, MA 02138 Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes GNU Compiler Collection 7.1 2017 GNU Tools Cauldron, Prague store merging BRIG RISC-V ipa-vrp IPA-bit-CP spell-check HSA NVPTX DWARF5 GCC 6.1 lifetime-DSE OpenACC 2.0a C++ Concepts C++17 diagnostic ranges Fortran2015 C++14 GCC 5.1 OpenACC fix-it hints IPA-ICF Auto-FDO libgccjit NDS32 Nios II GCC 4.9.0 MPX CilkPlus color diags OpenMP 4.0 IPA-devirt function reordering FT32 ubsan C++11 Aarch64 GCC 4.8.0 LRA ThreadSanitizer NiosII DWARF4 MSP430 partial-PRE -Og GCC 4.7.0 NDS32 AdressSanitizer C6X Tile-GX/Pro2012 CR16 GNU Cauldron OpenMP 3.1 Epiphany RL78 Objective-C 2.0 GCC 4.6.0 Ada 2012 Microblaze C1X Go gimple-fold WHOPR MeP GCC 4.5.0 IPA-SRA -Ofast partial inlining LTO RX Fortran2008 LatticeMicro32 Graphite GCC 4.4.0 software pipelining switch-conv indirect inlining picochip Moxie call-DCE optimize attribute ACML GCC 4.3.0 IRA SPU Moxie early inliner Fortran2003 Gold Renesas RX dataflow branch IPA-SSA 2007 GCC 4.2.0 Forwprop Java 1.5 C++0x OpenMP GIMPLE tuples sel-sched PHI-opt reassoc GCC 4.1.0 Blackfin VRP SCCVN IP-CP Morphosys S/390 IPA-pure-const GCC 4.0.0 IPA structalias SRA M32C vectorizer DSE SMS Fortran95 tail-recurse SCCP new C++ parser trace scheduling GCC 3.4.0 ivopts SCEV mudflap PCH profiledbootstrap unit-at-a-time IPA inliner CFG loop GCC 3.3 tracer webizer DFA scheduler GCC Summit GCC 3.2 TREE-SSA data-refs GCC 3.1 IQ2000 Visium Ada95 MMIX CRIS 2002 PTA MCore210/240 FDO SH5 FRV x86-64 SSA-PRE XScale GCC 3.0 Xtensa CGEN libcpp regrename Java DCE IA-64 SSA bbreorder tailcall AM33 FR30 68HC11/2 AVR GCC 2.95 D30V TBAA LCM CFG c4x ISO C99 DSE Chill c3x GGC SID EGCS 1.1 dominator gcov GCC 2.8.0 GCSE -Os MIPS16 Checker C++ namespaces glibc2 DWARF2 EGCS 1.0 C++ templates 1997 ARC Haifa-sched mn10200/300 alias M32R V850 Xstormy16 Fortran77 Pentium-GCC i370 libstdc++ PDP11 DSP16xx WindowsNT MIL-STD-1750A GCC 2.7.0 SH We32k GCC 2.6.0 unroll GCC 2.4.0 GCC 2.5.0 Clipper H8/300 XCOFF GCC 2.2 GCC 2.3 DWARF Alpha GCC 2.1 Objective-C sched GCC 2.0 PA-RISC regstack 1992 Am29000 i960 ROMP GCC 1.42 Arm Ada BFD peephole opt Elxsi RS6000 SDB GCC 1.39 Gmicro GDB SYMOUT DBX G++ GCC 1.38 Convex Cygnus Pyramid 90 Tahoe GCC 1.33 delayed-branch MIPS Alliant FX global-alloc ATARI i860 M66k i386 SPARC dataflow glibc SPUR GCC 1.17 ns32k loop inliner GCC 1.0 combine CSE M68k 1987 GCC 0.9 VAX Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes GNU Compiler Collection 7.1 2017 GNU Tools Cauldron, Prague store merging BRIG RISC-V ipa-vrp IPA-bit-CP spell-check HSA NVPTX DWARF5 GCC 6.1 lifetime-DSE OpenACC 2.0a C++ Concepts C++17 diagnostic ranges Fortran2015 C++14 GCC 5.1 OpenACC fix-it hints IPA-ICF Auto-FDO libgccjit NDS32 Nios II GCC 4.9.0 MPX CilkPlus color diags OpenMP 4.0 IPA-devirt function reordering FT32 ubsan C++11 Aarch64 GCC 4.8.0 LRA ThreadSanitizer NiosII DWARF4 MSP430 partial-PRE -Og GCC 4.7.0 NDS32 AdressSanitizer C6X Tile-GX/Pro2012 CR16 GNU Cauldron OpenMP 3.1 Epiphany RL78 Objective-C 2.0 GCC 4.6.0 Ada 2012 Microblaze C1X Go gimple-fold WHOPR MeP GCC 4.5.0 IPA-SRA -Ofast partial inlining LTO RX Fortran2008 LatticeMicro32 Graphite GCC 4.4.0 software pipelining switch-conv indirect inlining picochip Moxie call-DCE optimize attribute ACML GCC 4.3.0 IRA SPU Moxie early inliner Fortran2003 Gold Renesas RX dataflow branch IPA-SSA 2007 GCC 4.2.0 Forwprop Java 1.5 C++0x OpenMP GIMPLE tuples sel-sched PHI-opt reassoc GCC 4.1.0 Blackfin VRP SCCVN IP-CP Morphosys S/390 IPA-pure-const GCC 4.0.0 IPA structalias SRA M32C vectorizer DSE SMS Fortran95 tail-recurse SCCP new C++ parser trace scheduling GCC 3.4.0 ivopts SCEV mudflap PCH profiledbootstrap unit-at-a-time IPA inliner CFG loop GCC 3.3 tracer webizer DFA scheduler GCC Summit GCC 3.2 TREE-SSA data-refs GCC 3.1 IQ2000 Visium Ada95 MMIX CRIS 2002 PTA MCore210/240 FDO SH5 FRV x86-64 SSA-PRE XScale GCC 3.0 Xtensa CGEN libcpp regrename Java DCE IA-64 SSA bbreorder tailcall AM33 FR30 68HC11/2 AVR GCC 2.95 D30V TBAA LCM CFG c4x ISO C99 DSE Chill c3x GGC SID EGCS 1.1 dominator gcov GCC 2.8.0 GCSE -Os MIPS16 Checker C++ namespaces glibc2 DWARF2 EGCS 1.0 C++ templates 1997 ARC Haifa-sched mn10200/300 alias M32R V850 Xstormy16 Fortran77 Pentium-GCC i370 libstdc++ PDP11 DSP16xx WindowsNT MIL-STD-1750A GCC 2.7.0 SH We32k GCC 2.6.0 unroll GCC 2.4.0 GCC 2.5.0 Clipper H8/300 XCOFF GCC 2.2 GCC 2.3 DWARF Alpha GCC 2.1 Objective-C sched GCC 2.0 PA-RISC regstack 1992 Am29000 i960 ROMP GCC 1.42 Arm Ada BFD peephole opt Elxsi RS6000 SDB GCC 1.39 Gmicro GDB SYMOUT DBX G++ GCC 1.38 Convex Cygnus Pyramid 90 Tahoe GCC 1.33 delayed-branch MIPS Alliant FX global-alloc ATARI i860 M66k i386 SPARC dataflow glibc SPUR GCC 1.17 ns32k loop inliner GCC 1.0 combine CSE M68k 1987 GCC 0.9 VAX Jak to zacalo?ˇ What’s GNU? Gnu’s Not Unix! AMD64 port a SUSE GCC dnes RMS o GCC Shortly before beginning the GNU project, I heard about the Free University Compiler Kit, also known as VUCK.