Без темы
<<  What is your favourite season WHY ARE STEREOTYPES HARMFUL  >>
Картинок нет
Картинки из презентации «Wheres My Compiler» к уроку английского языка на тему «Без темы»

Автор: Jim Miller. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока английского языка, скачайте бесплатно презентацию «Wheres My Compiler.ppt» со всеми картинками в zip-архиве размером 102 КБ.

Wheres My Compiler

содержание презентации «Wheres My Compiler.ppt»
Сл Текст Сл Текст
1Where’s My Compiler? Developer tools: 27layouts Output may be code or graphic
past, present, and future Jim Miller designs. 2-Oct-15. Where's My Compiler?
Software Architect, Developer Frameworks 27.
Microsoft Corporation (with help from 28Mark-up Compilers. XML schema (or DTD)
Carol Eidt, Phoenix Project, Microsoft Output: parser Output: deserializer
Corporation). Web-services Description (WSDL) Output:
2Outline. What Is A Compiler? A Brief proxy that parses input and dispatches
History of Developer Tools My First Output: code to convert data structure to
Compiler Compilers, compilers, everywhere. XML (“serializer”) XAML (Windows
2-Oct-15. Where's My Compiler? 2. Presentation Framework) Output: parser
3What Is A Compiler? A converter from Output: executable code XSL. 2-Oct-15.
one representation (source code) to Where's My Compiler? 28.
another (executable code) Preserves (most 29Outline. What Is A Compiler? A Brief
of) the meaning of the source One part of History of Developer Tools My First
a modern “tool chain” used to produce Compiler Compilers, compilers, everywhere
executable artifacts (applications). Free-standing compilers Under the hood
2-Oct-15. Where's My Compiler? 3. Inside applications In the tool chain
4A Compiler. Compiler. 2-Oct-15. Inside libraries. 2-Oct-15. Where's My
Where's My Compiler? 4. Compiler? 29.
5Figures of Merit. Code Quality: how 30Modern Hardware: CPU. Compile “machine
efficient is the generated code? Speed and code” to “micro code” CPU Architecture is
Space: these aren’t independent, but they the abstraction boundary RISC vs CISC is
aren’t the same either Throughput: how an old debate x86 and x64 are CISC on the
fast is the code generated? Footprint: how outside, RISC on the inside Part of the
large is the compiler? 2-Oct-15. Where's instruction cache Engineering note: an
My Compiler? 5. icache miss now often means a pause to
6Outline. What Is A Compiler? A Brief compile in addition to a memory fetch!
History of Developer Tools My First Allows innovation in actual hardware while
Compiler Compilers, compilers, everywhere. still running existing code Chips
2-Oct-15. Where's My Compiler? 6. optimized for specific usage scenarios
71950s: Just a Compiler, Please. The Chips take advantage of materials science
compiler references a runtime, but the advances Chips take advantage of new
runtime is supplied by the OS at a fixed internal architectures (multi-core).
location in memory FORTRAN runtime: 2-Oct-15. Where's My Compiler? 30.
input/output formatting COBOL runtime: 31Modern Hardware: Graphics. Graphics
also search and sort OS loader loads the memory isn’t just for data Very
compiler output into memory, transfers sophisticated compilation steps Parallel
control Address space is small (< 8K execution with CPU Adapts to changing
word), CPU is slow (< 1,000 hardware organization Raster scan vs
instructions/sec.) Figure of merit: Code vector Resolution, speed, synchronization
Quality Compiler must optimize code for Adapts to predominant usage pattern
space Compiler must optimize code for Animation 3D Shading. 2-Oct-15. Where's My
speed. 2-Oct-15. Where's My Compiler? 7. Compiler? 31.
8Inside the Compiler (in concept). 32Outline. What Is A Compiler? A Brief
Source Code. Front End. Back End. History of Developer Tools My First
Executable Code. 2-Oct-15. Where's My Compiler Compilers, compilers, everywhere
Compiler? 8. Free-standing compilers Under the hood
9Inside the Compiler (in concept). Inside applications In the tool chain
Source Code. Back End. Executable Code. Inside libraries. 2-Oct-15. Where's My
2-Oct-15. Where's My Compiler? 9. Compiler? 32.
10Inside the Compiler (in concept). 33Databases. SQL is a full programming
Source Code. Front End. Linearize parse language Compiled to intermediate form on
tree Code Analysis Basic block analysis client Intermediate form is passed to
Control- and data-flow graph analysis server for execution Server optimizes the
Optimize (machine-independent) Redundant intermediate form to produce an “execution
and dead code elimination Code plan” Query optimization Additional inputs
restructuring Convert to executable code include Size of tables Frequency of query
Register allocation Peephole optimization types Indexing information Outputs include
Branch prediction and tensioning. Back Executable code Temporary indexes
End. Executable Code. 2-Oct-15. Where's My Background indexing requests Updated
Compiler? 10. frequency information. 2-Oct-15. Where's
111960s: Linkers. Programs are growing My Compiler? 33.
in size Programs are built with libraries 34Hardware Emulators. Object code
Libraries provide reusable code fragments translation at runtime HP3000 to PA-RISC
Virtual memory systems are invented Tool in 1983 Vax to Alpha in 1990s 32-bit
chain is in two stages Compile independent programs on 64-bit hardware Alternate
modules Combine the modules using a linker hardware emulation Device emulators for
Figure of merit: Code quality (speed). everything from smart cards to cell phones
2-Oct-15. Where's My Compiler? 11. to iPod to pocket PCs JIT compilation
12Tools: Compiler + Linker. Includes trades start-up time for high performance
external references. Linker. 2-Oct-15. execution Often, but not always, a good
Where's My Compiler? 12. Executable Code. trade-off. 2-Oct-15. Where's My Compiler?
131970s: Symbolic Debugger. OS written 34.
in high-level language Compilers provide 35Code Analysis Tools. Analyzing API
sufficient code performance and low-level surface Simple to do with front end ASTs
access High-level languages provide large “Remodularizing” implementation Requires
runtime libraries in multiple units Static static and dynamic dependency analysis –
linker pulls only required units into a normal compiler back end work Requires
given program image Compiler exports rebuilding the program, easily done using
symbol table for use by debugger, not just front end ASTs Race detection Instrument
internal to front-/back-end Figure of code at compile time Gather data as it
merit: Code quality (speed). 2-Oct-15. runs under high stress. 2-Oct-15. Where's
Where's My Compiler? 13. My Compiler? 35.
14Compiler, Linker, Debugger. Running 36“Tree Shakers”. Start with AST tree
Program. Symbol table(s). Linker. and appropriate dependency graph Pull AST
Debugger. 2-Oct-15. Where's My Compiler? nodes found starting at a given graph
14. node, recursively Convert resulting set of
151980s: Dynamic Loading, Threading. To AST nodes to appropriate output format
improve OS performance, by reducing Example uses: Subset library based on
physical memory pressure, read/only parts initial set of types Statically link
of libraries are shared between subset of library for a given application.
applications Loaded on first reference OS 2-Oct-15. Where's My Compiler? 36.
loader fixes up references to shared 37Outline. What Is A Compiler? A Brief
libraries – just like the static linkers History of Developer Tools My First
Not all libraries are loaded into the same Compiler Compilers, compilers, everywhere
virtual address Concurrency issues Free-standing compilers Under the hood
addressed in programming languages Locks, Inside applications In the tool chain
monitors, events, polling Order of Inside libraries. 2-Oct-15. Where's My
operations visible across thread Compiler? 37.
boundaries Memory model semantics become 38A Modern Interactive Development
an issue Ada™ introduces rendez-vous, Environment (IDE). Code editor Knows the
other languages have other constructs Tool programming language, provides syntax
chain Compiler(s) Linker Loader Symbolic support and context-sensitive name lookup
debugger Figure of merit: Code quality Project system Tracks the public shape of
(speed, but this is related to space). components Tracks dependencies between
2-Oct-15. Where's My Compiler? 15. components Build system Orders clean-up,
16OS Dynamic Loader. Running Program. compile, and link operations Debugger
Includes fixups for shared code. Static Allows inspection and modification of
Linker. OS Loader. Debugger. Symbol values at runtime Allows control
table(s). 2-Oct-15. Where's My Compiler? operations (e.g., breakpoint, continue,
16. Image File. Image File. Image File. restart) Dynamic Support Allows program
171990s: JITs and Managed Runtimes. modification interwoven with execution
Garbage Collection goes mainstream (“edit and continue”) Global interaction
Previously: LISP, APL, SmallTalk 1990s: space (“read-eval-print loop”). 2-Oct-15.
Java, Jscript, C#, VB Verification Where's My Compiler? 38.
requires runtime to analyze code 39Compilers in the IDE (I). In the code
Verification is similar to front-end editor Incrementally parses the code as it
compiler work Can be done to native code, is being entered. Note: must deal with
but much simpler with an intermediate incorrect syntax and partial programs.
language Just-in-time (JIT) compilation Suggests possible completions based on a
increases performance over pure symbol table. Note: symbol table must
interpretation Typically by a factor of 5 include external references maintained by
to 15 Tool chain: split the compiler in the project system. Refactoring operations
two! Linearize the AST to create require both syntactic and semantic
Intermediate Language (IL) Save symbol analysis. Note: refactoring requires
table as “metadata” Reorder the chain information maintained by the project
Figures of merit: Throughput first, code system. In the debugger Expression
quality second. 2-Oct-15. Where's My evaluation. 2-Oct-15. Where's My Compiler?
Compiler? 17. 39.
18OS Dynamic Loader (repeat). Running 40Compilers In the IDE (II). Dynamic
Program. Includes fixups for shared code. support Edit-and-continue Requires a full,
Static Linker. OS Loader. Debugger. Symbol incremental compiler For efficiency, it
table(s). 2-Oct-15. Where's My Compiler? also requires the ability to compress the
18. Image File. Image File. Image File. output as a “diff” between the original
19OS Dynamic Loader (repeat). Compiler. and the new code Interactive workspace
Running Program. Static Linker. OS Loader. Like LISP, APL, SmallTalk, Python, etc.
Debugger. 2-Oct-15. Where's My Compiler? Requires a compiler or an interpreter --
19. Source Code. Front End. Back End. really, a compiler front end to generate
Object Code. Image File. an AST combined with a tree walker to
20Managed Runtime. Compiler. Compiler. execute the tree. The compiler must be
Runtime. Running Program. OS Loader. capable of generating code that uses code
Dynamic Linker. Debugger. 2-Oct-15. and objects resident in the evaluation
Where's My Compiler? 20. Image File. Back environment, which generally means a
End. reliance on reflection. 2-Oct-15. Where's
21Managed Runtime. Compiler. Compiler. My Compiler? 40.
Runtime. Running Program. OS Loader. 41Compilers in the Linker. The linker
Dynamic Linker. Debugger. Metadata + sees “the whole program”, so it’s better
Intermediate Language. 2-Oct-15. Where's positioned to do global analysis Solution:
My Compiler? 21. Image File. Back End. write a compiler Input language is object
222000s: Reflection-based Computation. file format (native code or IL) Output
Reflection: ability of a program to language is OS image file format
observe and possibly modify its structure Optimizations: Aggressive in-lining across
and behavior Compilers “preserve meaning” module boundaries Code motion across
but runtime reflection makes more module boundaries Full type system
information visible, so optimizations are analysis (treat leaf types as sealed)
more limited Metadata (symbol table) or Issues: These flow graphs are *big* The
equivalent needed at runtime, not just linker doesn’t see the whole program
compile/link time Interactive Development (dynamic linking) Reflection and dynamic
Environments (IDEs) Intellisense™ linking reduce permitted optimizations Or
Refactoring Interactive syntax analysis require the ability to back out or
Query Integration Builds expression trees recompute optimizations at runtime.
(ASTs) at compile time Runtime operations 2-Oct-15. Where's My Compiler? 41.
to combine and manipulate them Figures of 42Profile-Guided Optimization. Idea:
merit: “Compiler” and “JIT compiler”: Instrument the program, run it with
throughput “Pre-JIT” compiler: balance of typical loads, then re-optimize using this
throughput and code quality. 2-Oct-15. profiling data. (Similar to “Hotspot”)
Where's My Compiler? 22. Optimizations: Optimize only “hot” code
23Runtime Reflection. Metadata (symbol fragments So you can spend more time on
table). Running Program. Development them Method and basic block reordering to
Environment. OS Loader. Dynamic Linker. increase code density Code reordering to
Debugger. Metadata + Intermediate optimize branch prediction and minimize
Language. 2-Oct-15. Where's My Compiler? “long” references Cache locality
23. Source Code. Front End. Image File. optimizations for data and code. 2-Oct-15.
Back End. Where's My Compiler? 42.
24Outline. What Is A Compiler? A Brief 43Outline. What Is A Compiler? A Brief
History of Developer Tools My First History of Developer Tools My First
Compiler Compilers, compilers, everywhere. Compiler Compilers, compilers, everywhere
2-Oct-15. Where's My Compiler? 24. Free-standing compilers Under the hood
251970: Numbles. “Number puzzles for Inside applications In the tool chain
Nimble minds” Column in “Computers and Inside libraries. 2-Oct-15. Where's My
Automation” Numble verifier written by Compiler? 43.
Stuart Nelson Input language: SEND + MORE 44For the Developer. “Regular
====== MONEY Output: a program to try all expression” parsing Grammar is usually
possible values for letter assignments to more powerful than regular expressions
digits Handled +, -, *, and = Hand coded Serialization and Deserialization Reflects
in PDP-9 assembly language. 2-Oct-15. on data type to be marshalled Generates
Where's My Compiler? 25. specialized code to convert to stream
26Outline. What Is A Compiler? A Brief format (serialization) or parse into
History of Developer Tools My First in-memory format (deserialization).
Compiler Compilers, compilers, everywhere 2-Oct-15. Where's My Compiler? 44.
Free-standing compilers Under the hood 45For the Compiler Writer.
Inside applications In the tool chain Parser-generators lex yacc AST tool kits
Inside libraries. 2-Oct-15. Where's My Microsoft is investing in this area
Compiler? 26. Provides integration into may aspects of
27Special-Purpose Compilers. the IDE Executable file format tool kits
Compile-to-hardware Aspect-Oriented Queensland University of Technology
Programming (AOP) weaver Parser finds new PERWAPI Optimization tool kits Microsoft’s
syntax to mark insertion points Back-end Phoenix project. 2-Oct-15. Where's My
inserts code snippets for different Compiler? 45.
aspects More generally: “assembly 46Questions? 2-Oct-15. Where's My
rewriting” Work-flow and object design Compiler? 46.
languages Input may be textual or graphic
Wheres My Compiler.ppt
cсылка на страницу

Wheres My Compiler

другие презентации на тему «Wheres My Compiler»

«Лондонский зоопарк» - «Путешествие в Лондонский зоопарк». A monkey. A squirrel. Внеклассное мероприятие по английскому языку. A horse. An elephant. A crocodile. A wolf. A parrot. Let’s go. An ostrich. A camel. A tiger.

«Вопросы на английском» - Русский язык очень красивый. Студенты. Грамматика. Сима говорит о письме. Что изучает студент. Ask what subjects the following people are studying. Французская история. Кирилл Петрович работает на филологическом факультете. Сима говорит обо мне. Я занимаюсь в библиотеке. Аргументы и факты. Интересная книга.

«Местоимения английского языка» - Pronouns. Open the breaks. Обстоятельство времени. Tom, don’t jump here. Translate into english. Past simple. Инфинитив. Строгий порядок слов. Абсолютная форма. Some flowers. He took care of himself. Grandfather. Simple tenses. Articles. Topic english tenses. Word order in english sentences. English-Russian crossroads.

«Animals in our life» - A sheep. Animals In danger. A hedgehog is one of the endangered animals. Endangered. Английский язык. Wild. Совершенствование навыков диалогической речи. Подготовительный этап. Very important role. Редкие животные. A dog. A statistic of endangered animals. There are three kinds of animals in the world.

«Отличия британского английского от американского» - Есть слова, которые пишутся по-разному. Почему стоит начать с классического английского. Сегодня американский английский распространен шире, чем британский. Разные слова, имеющие одно и то же значение. Фонетические различия. Значительное отличие британского английского от американского. Различное значение.

«Great Britain and Northern Ireland» - Andrew was first hoisted in 1512. The Tudor rose is the national floral emblem of England. Westminster Cathedral. Thames flows through London. Paul’s Cathedral. UK Royal Coat-of-Arms. The bascules will open to let ships pass through. Big Ben, the big clock tower, is the symbol of London. It is 245 m wide here.

Без темы

661 презентация

Английский язык

29 тем