Back end MathWorks Compiler Course – Day 6 lexemes Cfg tables Symbols Generator Emitter Assembler...

Post on 14-Dec-2015

212 views 0 download

Transcript of Back end MathWorks Compiler Course – Day 6 lexemes Cfg tables Symbols Generator Emitter Assembler...

• Back end

MathWorks Compiler Course – Day 6

lexemes

Cfg tables

Symbols

Generator

Emitter

Assembler

semantic actions

cpu instructions

executable bits

syntax tree

symbol table

hardware

• Hardware– Memory (address modes)– real arithmetic (FPS)– integer arithmetic– testing (flags)– branching (self-relative)– faults & loops (MATLAB crash)

MathWorks Compiler Course – Day 6

• Hardware

• C puns (in MEX)t = (unsigned int (*)(void*))code;

res = t(frame);

float d = *(float*)addr;

int i = *(int*)addr;

MathWorks Compiler Course – Day 6

• Hardware

• C puns

• Runtime library– go– static jackets– >> makeRuntime

MathWorks Compiler Course – Day 6

• Hardware

• C puns

• Runtime library

• Emulation– step forward/back– demo

MathWorks Compiler Course – Day 6