!"#$%"$&'(%)$*"+'$,#-$ ./0(12)$30+45(-2$ - - PowerPoint PPT Presentation

0 12 30 45 2
SMART_READER_LITE
LIVE PREVIEW

!"#$%"$&'(%)$*"+'$,#-$ ./0(12)$30+45(-2$ - - PowerPoint PPT Presentation

!"#$%"$&'(%)$*"+'$,#-$ ./0(12)$30+45(-2$ 6)%7$8(99(:2$ ;6<$ =99(:2>+2?(9@?/"@$ "This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) under its Agreement No.


slide-1
SLIDE 1

!"#$%"$&'(%)$*"+'$,#-$ ./0(12)$30+45(-2$

6)%7$8(99(:2$ ;6<$ =99(:2>+2?(9@?/"@$

"This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) under its Agreement No. HR0011-07-9-0002“

,AB,C$DEEFG$H+-)$DEEF$

IJKLJEF$ K$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-2
SLIDE 2

6)N"')$O:)-P(-4 $

  • <QR)$2+')$S"+$7QT)$Q$HQTQ$HU.$

–O%$0)Q2%$V$WQRQ$K?VX$ –;6<$"'$A+-Y2$$W-"%$ZBH$(-/0+P)P$#(%7$[(-+\X$

  • ]"#-0"QP$./0(12)$!"#$$%&$N"'$S"+'$10Q^"'@$

–)/0(12)?"'4JP"#-0"QP2$

  • AQT)$%7)$Q'/7(T)$_0)G$S"+Y00$-))P$(%$Q4Q(-$(-$%7)$%+%"'(Q0$

–$B+'')-%$')0)Q2)$`ZQ0(0)"a$(2$./0(12)$L?V$$$

IJKLJEF$ D$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-3
SLIDE 3

HQTQ $

  • [(-+\M$@QR)$2+')$S"+$7QT)$A+-$"'$;6<$HQTQM$

HQTQ$!"%A1"%$bb$A+-$

  • .(%7)'$HQTQ$K?V$"'$K?c$(2$"R$$$W'()*gcjdX$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ L$

slide-4
SLIDE 4

,+%0(-)$

K? ./0(12)$"T)'T()#$Q-P$;-2%Q00Q="-$ D? ;-2%Q00(-4$)\%)-2("-2$W`30+45(-2aX$T(Q$e1PQ%)$<Q-Q4)'$ L? C)#$30+45(-$3'"f)/%$&(gQ'PG$/')Q%)$Q-$O/="-$9+:"-$ – 30+45(-$/"@1"-)-%$%"+'M$<Q-(N)2%G$/"P)G$')2"+'/)2G$)%/?$ – [Q+-/7(-4$W`2)0N57"2=-4aX$h$%)2=-4$S"+'$10+45(-$ i? <"')$)\%)-2("-2M$QPP(-4$Q$T()#$j$@"P(NS$/"P)$j$'+-$P)9+44)'$ V? &'(=-4$!)01$N"'$S"+'$10+45(-k$(-/0+P(-4$!8<[$Q-P$l<[$)P(=-4$ c? 3Q/RQ4(-4$S"+'$10+45(-W2XM$./0(12)$N)Q%+')2k$e1PQ%)$A(%)2$m$%)2=-4$ I? !Q-P@QP)$)\%)-2("-M$&"'P$B"+-%)'$(-$)P(%"'$%""09Q'$55$;N$=@)$1)'@(%2$ n? A"+'/)$/"P)$Q-Q0S2(2M$BJBoo$)\Q@10)$h$Q-P$)/0(12)?"'4$2"+'/)$/"P)$ ')1"2(%"'S$)\10"'(-4$$55$;N$=@)$1)'@(%2$ F? A+@@Q'SG$U)N)')-/)2G$&7)')$%"$4"$N'"@$7)')$ +%,)$*#,-*.%/$*0"(,1*)23*4#5*

IJKLJEF$ i$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-5
SLIDE 5

./0(12)M$,T)'T()# $

  • ,1)-$A"+'/)$;].$m$])T)0"1@)-%$30Q^"'@$

–30Q^"'@5(-P)1)-P)-%$ –,'(4(-Q00S$P"-Q%)P$9S$;6<$(-$DEEKk$p"+-PQ="-$)2%?$(-$$DEEi$ –C"#$"T)'$KnE$T)-P"'$@)@9)'2$W@"')$%7Q-$;6<X$

  • KV$A%'Q%)4(/$@)@9)'2$h$2(%$"-$./0(12)$p"+-PQ="-$6"Q'P$
  • 7:1MJJ###?)/0(12)?"'4J@)@9)'27(1J27"#<)@9)'2&(%78Q4?171q8Q4;]b2%'Q%)4(/$

–C"#$"T)'$LL$./0(12)$1'"f)/%2$(-$2(@+0%Q-)"+2$')0)Q2)$

  • ,T)'$KEE$1'"f)/%2$"T)'Q00k$@"')$N'"@$(-P)1)-P)-%2$

–;].$WP)T)0"1$6%)2$./0(12)X$

  • 0,-*7"#8(9:*;-3<3"(/*#,-*-3"%<39*5(=9*0//"%&#>(,*(,*)(/*(?*@&"%/$3A*

IJKLJEF$ V$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-6
SLIDE 6

30Q^"'@2$m$U)0)Q2)2 $

  • U)0)Q2)2$

–DEEcM$L?D$BQ00(2%"$ –DEEIM$L?L$.+'"1Q$ –DEEnM$L?i$ZQ-S@)P)$ –DEEFM$L?V$ZQ0(0)"$

IJKLJEF$ c$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-7
SLIDE 7

./0(12)$3Q/RQ4)2 $

http://eclipse.org/downloads

IJKLJEF$ I$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-8
SLIDE 8

3Q'Q00)0$8""02$30Q^"'@ $

<S$/"@@(:)'$2%Q%+2$(-T"0T)@)-%$#(%7$./0(12)M$

  • ./0(12)?"'4J1%1$
  • 8""02$N"'$!(47$3)'N"'@Q-/)$B"@1+=-4$$
  • ;6<$N+-P(-4$N'"@$]OU3O$
  • ])T)0"1G$O-Q0Sg)G$U+-G$<"-(%"'G$])9+4G$8+-)G$

U)1)Q%$

IJKLJEF$ n$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-9
SLIDE 9

9

6+(0P(-4$ [Q+-/7(-4$ <"-(%"'(-4$ Eclipse and PTP: Parallel Tools Platform

http://eclipse.org/ptp

Parallel Debugging Coding & Analysis Performance Tuning External Tools Framework (ETFw)

Bring richness of commercial development tools to the parallel programmer Open and extensible platform to encourage further development

CDT: C/C++ Photran: Fortran X10DT: X10

Productivity of

  • Dev. On local

machine Remote Host

slide-10
SLIDE 10

./0(12)$;-2%Q00Q="- $

  • ]"#-0"QP$N'"@$)/0(12)?"'4JP"#-0"QP2$

–*"+$-))P$Q$HQTQ$HU.$WQ%$0)Q2%$HU.$VX$

  • '()*B!C*-%$)9%D=)3-*6%)2*E%,=FG*B3)*H=,*(9*IJKL*

–87(2$%+%"'(Q0$(2$9Q2)P$"-$./0(12)$L?V$W`ZQ0(0)"aX$ –<Q-S$P(2%'(9+="-2$h$#)Y00$+2)$`./0(12)$B0Q22(/a$ –,%7)'$P(2%'"2$%Q'4)%$P(r)')-%$P)T?$O+P()-/)2$

  • BJBooG$&)9G$HQTQG$HQTQ$..G$)%/?$

–]"#-0"QP$Q-P$+-g(1J+-%Q'$

  • 87Q%Y2$(%d$
  • .\)/+%Q90)M$$)/0(12)$$$$"'$$$$)/0(12)?)\)$

IJKLJEF$ KE$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-11
SLIDE 11

!(-%2$Q-P$=12M$ $ <+0=10)$(-2%Q00Q="-2 $

M(=*&#,*3#$%"5*2#<3*:=">/"3*%,$)#""#>(,$*(?*3&"%/$3L* @&"%/$3*3F)9#&)$*%,)(*#*$%,1"3*-%9N*O3&"%/$3P* 7=)*)2#)*62393<39*5(=*6#,)*

  • QR$39$QD3)2Q3&"Q3&"%/$3STLUQ3&"%/$3*
  • QR$39$QD3)2Q3&"Q3&"%/$3STLVQ3&"%/$3*
  • QR$39$QD3)2Q3&"Q3&"%/$3STLTQ3&"%/$3*
  • W%12)*,(6*I*2#<3*XXX**;2(6*:#,5YA*(,*:5*:#&2%,3*

– 42#)*&#,*I*$#5Z*IP:*#*/#&[*9#)**

IJKLJEF$ KK$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-12
SLIDE 12

!(-%2$Q-P$=12M$)/0(12)?(-( $

J3?(93*E#=,&2%,1 *

  • +%,)$*#,-*.%/$*

– @-%)*)23*3&"%/$3L%,%**\"3*)(*$3)*-3?#=")$L* * H=113$>(,$N*

  • !2#,13*23#/*$%]3*?9(:*

**S^:$_U`:*)(*a^:FUb_:*

  • H3)*S$2(6"(&#>(,*)(*$2(6*

6(9[$/#&3*,#:3*%,*>)"3*D#9*

– c(,P)*$/"%)*#,()239*#91Q<#"=3*/#%9G*

  • @&"%/$3L%,%*"(&#>(,*

– K#&N*3&"%/$3Q@&"%/$3L#//Q!(,)3,)$Q K#&dHQ3&"%/$3L%,%* – 4%,QE%,=FN**3&"%/$3Q3&"%/$3L%,%*

IJKLJEF$ KD$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

See next slide for Windows/Linux

slide-13
SLIDE 13

!(-%2$Q-P$=12M$)/0(12)?(-( $

Linux Windows

IJKLJEF$ KL$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

  • Xmx512m
slide-14
SLIDE 14

[Q+-/7$./0(12) $

  • ?J)/0(12)$$$"'$P"+90)5/0(/R$)\)/+%Q90)$

–&Q'-(-4M$%"$Q22+')$)-T('"-@)-%$(2$%'Q-20Q%)P$%"$ %7)$)\)/+%Q90)G$S"+$@QS$#Q-%$%"$'+-$N'"@$ /"@@Q-P$0(-)$W)?4?$<Q/$,A$lX$

  • ,'$)P(%M$)-T('"-@)-%?10(2%$

–&7Q%)T)'$S"+'$)-T('"-@)-%G$@QR)$2+')$HQTQ$(2$(-$ S"+'$1Q%7$

IJKLJEF$ Ki$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-15
SLIDE 15

[Q+-/7$./0(12) $

  • [Q+-/7$)/0(12)k$P)NQ+0%$#"'R21Q/)$1'"9Q90S$,s$
  • &)0/"@)$1Q4)$Q11)Q'2k$4"$%"$#"'R9)-/7$
  • Close Welcome tab
  • r
  • Select “Go to workbench” icon

IJKLJEF$ KV$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

I usually change it

slide-16
SLIDE 16

./0(12)$&"'R9)-/7 $

Editor Stacked views Project/ Package Explorer view View Perspectives

IJKLJEF$ Kc$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-17
SLIDE 17

;-2%Q00(-4$)\%)-2("-2 $

  • ;-2%Q00$"%7)'$)/0(12)$

%""02$

  • !)01$t$;-2%Q00$C)#$

A"u#Q')??$

  • C"$-))P$%"$P"$$

Q-S%7(-4$-"#?$

IJKLJEF$ KI$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-18
SLIDE 18
  • [(-+\$

e1PQ%)$<4'$

  • <Q-+Q0$

;-2%Q00Q="-M$

  • P'"1(-2J$N"0P)'$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Kn$

;-2%Q00(-4$)\%)-2("-2 $

slide-19
SLIDE 19

&7Q%$(2$Q$10+45(-q $

  • O-$./0(12)$10+45(-$(2$Q$+-(%$"N$)/0(12)$N+-/="-$
  • ;%$`)\%)-P2a$%7)$)/0(12)$#"'R9)-/7?$
  • !Q2$Q$21)/(Q0$%S1)$"N$@Q-(N)2%$Q-P$W+2+Q00SX$Q$

10+4(-?\@0$_0)$

  • <QS$P)1)-P$"-$"%7)'$10+45(-2$
  • BQ-$W+2+Q00S$P")2X$/"-%'(9+%)$%"$"%7)'$10+45(-2$
  • ["%2$"N$10+45(-2$Q0')QPS$)\(2%$W[,8AX$

– 7:1MJJ###?)/0(12)10+4(-/)-%'Q0?/"@J$ – 7:1MJJ)/0(12)510+4(-2?(-N"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#,-*$"-$7:1MJJ)/0(12)?"'4$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ KF$

slide-20
SLIDE 20

./0(12)$)\Q@10)2 $

  • &)$#(00$P)T)0"1$./0(12)$10+45(-2$(-$%7(2$%+%"'(Q0$

T(Q$%7)$9+(0%5(-$)\Q@10)$#(gQ'P2$

  • !"#$@+/7$/Q-$S"+$0)Q'-$N'"@$`7)00"$#"'0Pa$q$

–O$0"%G$Q/%+Q00S$ –6Q2(/$10+45(-$2%'+/%+')G$7"#$%"$7""R$(-G$#7)')$%"$ 1+%$S"+'$/"P)G$#7Q%$S"+'$/"P)$/Q-$P"$ –87)-$#)Y00$4"$N'"@$%7)')?$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ DE$

slide-21
SLIDE 21

C)#$30+45(-$1'"f)/% $

  • p(0)$t$C)#$t$3'"f)/%j$
  • e-P)'$30+45(-$])T)0"1@)-%$

– A)0)/%$30+45(-$3'"f)/%k$C)\%$t$

IJKLJEF$ DK$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

Hints and tips: Make the project name the base package name - Helps with linking up IDs (can be difficult to get right later)

Give it a name, e.g.

  • com.myco.helloplugin

Next >

slide-22
SLIDE 22

C)#$30+45(-$1'"f)/%$WDX $

  • B"-%)-%$1Q4)$
  • ])NQ+0%2$Q')$,s$
  • C)\%$t$

IJKLJEF$ DD$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-23
SLIDE 23

30+45(-$%)@10Q%)2 $

  • B7""2)$`!)00"G$&"'0P$B"@@Q-Pa$8)@10Q%)$
  • Hit Finish (or Next > then Finish)

IJKLJEF$ DL$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-24
SLIDE 24

A#(%/7$3)'21)/=T)2 $

  • O//)1%$2#(%/7$%"$30+45(-$])T)0"1@)-%$3)'21)/=T)$
  • ;N$S"+$#)')$Q0')QPS$(-$%7)$30+45(-$])T)0"1@)-%$3)'21)/=T)G$

S"+$#"-Y%$2))$%7(2$P(Q0"4?$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Di$

slide-25
SLIDE 25

3)'21)/=T)2 $

3)'21)/=T)2$1'"T(P)$/"@9(-Q="-2$"N$ T()#2$Q-P$)P(%"'2$%7Q%$Q')$2+(%)P$%"$ 3)'N"'@(-4$Q$1Q'=/+0Q'$2)%$"N$%Q2R2?$ +%,)$*#,-*>/$N* M(=*&#,*3#$%"5*$6%)&2* D3)633,*/39$/3&><3$*<%#N** bL 4%,-(6*e*d/3,*739$/3&><3Z*(9* _L !"%&[*)23*fd/3,*739$/3&><3g*D=h(,** (,*)23*$2(9)&=)*D#9Z*************(9* TL !"%&[*(,3*(?*)23*/39$/3&><3*%&(,$* *%,*)23*$2(9)&=)*D#9* M(=*:#5*,33-*)(*-9#1*)23*$2(9)&=)*D#9P$*"3i*3-13*)(*:#[3*%)*6%-39Z*%,*(9-39* )(*$2(6*#""*)23*/39$/3&><3*%&(,$*)2#)*2#<3*D33,*#&><3L*

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ DV$

Shortcut bar

slide-26
SLIDE 26

A(@10)$30+45(-$/')Q%)P $

  • .P(%$%7)$10+45(-$

@Q-(N)2%M$ <OC;p.A8?<p$ $$$$$D#$%&$$ 10+4(-?\@0$ $$$$$3F)3,$%(,$*

  • A))$l<[$"N$@Q-(N)2%$
  • ,AZ($T2$10+45(-$

)\%)-2("-2$

Hints and Tips: To link current editor with location in project: Link with editor

IJKLJEF$ Dc$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-27
SLIDE 27

30+45(-$2"+'/)$/"P) $

  • O/=TQ%"'$/"-%'"02$

10+45(-$0(N)$/S/0)$

  • HQTQ$/"P)$N"'$

`!)00"$#"'0Pa$ Q/="-$

  • ]"+90)5/0(/R$_0)$%"$"1)-$(-$)P(%"'$

.-"+47$"N$Q$%"+'?$$[)%Y2$'+-$#(%7$"+'$-)#$ )\%)-2("-d$

IJKLJEF$ DI$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-28
SLIDE 28

U+--(-4J8)2=-4$10+45(-2$ $

  • `A)0N57"2=-4a5$0Q+-/7$Q-"%7)'$(-2%Q-/)$"N$./0(12)$
  • U+-=@)$#"'R9)-/7$0Q+-/7)2$#(%7$W+2+Q00SX$)T)'S%7(-4$(-$%7)$

P)T)0"1@)-%$#"'R9)-/7G$10+2$%7)$-)#$$10+45(-2$9)(-4$P)T)0"1)P$

IJKLJEF$ Dn$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

Launch Configuration Your plug-in code is here In your workspace Your “user’s” workspace Development workbench Runtime workbench

slide-29
SLIDE 29

U+-$ $

  • U+-$t$U+-$B"-_4+'Q="-2j$
  • C)#$./0(12)$O110(/Q="-$$

On Plug-ins tab Default selection is what we want: Launch with all … plugins Run!

IJKLJEF$ DF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

Or use Run icon menu

slide-30
SLIDE 30

U+--(-4$S"+'$-)#$10+45(- $

  • O-"%7)'$(-2%Q-/)$"N$./0(12)$(2$0Q+-/7)P$
  • Z"$%"$#"'R9)-/7$

.\)/+%)M$

  • 8""09Q'$(/"-$

"'$ <)-+$

IJKLJEF$ LE$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

slide-31
SLIDE 31

6Q2(/$10+45(-$%"+' $

  • <Q-(N)2%$

–<OC;p.A8?<p$Q-P$10+4(-?\@0$

  • HQTQ$/"P)$$

–e2+Q00S$+-P)'$J2'/$

  • ,%7)'$')2"+'/)2$

–<Q-S$Q')$"1="-Q0$ –;/"-2G$7%@0$_0)2G$)%/?$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ LK$

slide-32
SLIDE 32

*"+Y')$P"-)d $

  • *"+$7QT)$-"#$#'(:)-$S"+'$_'2%$./0(12)$$

10+45(-d$

  • *"+Y')$P"-)d$
  • j$H+2%$R(PP(-4d$
  • B0"2)$%7)$'+-=@)$#"'R9)-/7$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ LD$

slide-33
SLIDE 33

C)\%$1'"f)/% $

  • [)%Y2$@QR)$Q-"%7)'$10+45(-$%7Q%$/')Q%)2$Q-$

)/0(12)$T()#$

  • 87(2$#(00$+2)$@"')$"N$%7)$$

–./0(12)$)\%)-2("-$1"(-%2$W7"#$)/0(12)$/Q002$5(=9* /"P)X$Q-P$$ –O3;2$W%7)$fQTQ$/"P)$S"+$#'(%)$%7Q%$P")2$)/0(12)$ 2%+r$(-$S"+'$10+45(-X$ –O-P$#)Y00$@"P(NS$%7)$fQTQ$/"P)$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ LL$

slide-34
SLIDE 34

C)#$1'"f)/% $

  • C)#$3'"f)/%G$30+45(-$1'"f)/%$
  • CQ@)M$$

/"@?@S/"?T()#10+4(-$

– 79(j3&)*,#:3*k*/#&[#13*9(()** k*/"=1S%,*%-L*B3l,1*)2%$*$3)** =/*#)*/9(j3&)*$)#9)*6%""*$#<3** 5(=*23#-#&23$*"#)39L*

  • C)\%G$C)\%$
  • B7""2)$`30+45(-$#(%7$Q$T()#a$
  • C)\%G$p(-(27$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Li$

slide-35
SLIDE 35

U+- $

  • U+-$#(%7$j=$)$%7)$-)#$10+4(-$
  • U+-$t$U+-$B"-_4+'Q="-2$

–C)#$./0(12)$Q110(/Q="-$ –30+4(-2$%Q4M$[Q+-/7$#(%7M$10+4(-2$2)0)/%)Pj"-0S$ –e-P)'$&"'R21Q/)G$2)0)/%$%7)$T()#10+4(-$ WA))$-)\%$20(P)X$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ LV$

slide-36
SLIDE 36

U+-$/"-_4+'Q="-$N"'$0Q+-/7(-4$ (,"5$%7)$T()#$10+45(- $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Lc$

Run with just the new plugin

  • Run >

Run Configurations

  • New Eclipse application
  • Plugins tab:
  • Launch with: plugins

selected…only

  • Under Workspace,

select the viewplugin Run

slide-37
SLIDE 37

6'(-4$+1$C)#$v()# $

  • ;-$-)#$./0(12)$%7Q%$0Q+-/7)2G$
  • &(-P"#$$

$$$t$A7"#$v()#$$ $$$t$,%7)'j$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ LI$

slide-38
SLIDE 38

,+'$C)#$v()# $

  • &7Q%$N+-/="-2$

P")2$(%$P"q$

  • B0(/R$"-$2%+r$
  • B0"2)$%7)$$

'+-=@)$ #"'R9)-/7$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Ln$

Runtime workbench

slide-39
SLIDE 39

[""R$Q%$/"P) $

  • AQ@10)v()#$(-/0+P)2$HNQ/)$N'Q@)#"'R2M$

–B"-%)-%3'"T(P)'M$%7)$"9f)/%2$%7Q%$')1')2)-%$(%)@2$ (-$%7)$T()#$ –[Q9)0$3'"T(P)'M$!"#$%"$P(210QS$%7)$"9f)/%2$ –v()#3Q'%M$%7)$2+9#(-P"#$ –v()#)'M$%7)$#(P4)%$N"'$P(210QS(-4$"9f)/%2$

  • 8Q90)v()#)'$+2)P$7)')$
  • C#<#*&(-3*%,$/3&>(,*

–+(<39Z*25/39"%,[Z*&)9"S$/#&3*;K#&*&:-S$/#&3A*

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ LF$

Back in the Development workbench… See next slide

slide-40
SLIDE 40

B"P)$N"'$-)#$T()# $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ iE$

slide-41
SLIDE 41

C)#$B0Q22 $

  • ;-$3Q/RQ4)$.\10"')'$+-P)'$%7)$-)#$1'"f)/%G$

A)0)/%$1Q/RQ4)$`/"@?@S/"?T()#10+4(-a$ W87(2$@QR)2$%7)$-)#$/0Q22$#(gQ'P$ $$$Q+%"@Q=/Q00S$_00$(-$2"@)$TQ0+)2X$

  • p(0)G$C)#G$B0Q22$

– CQ@)M$;-2%'+@)-%$$$$ – 3Q/RQ4)M$/"@?@S/"?T()#10+4(-?"9f$ – Z)-)'Q%)$/"@@)-%2$ – B"-2%'+/%"'2$N'"@$2+1)'/0Q22$ – p(-(27$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ iK$

slide-42
SLIDE 42

.P(%$/"P)$N"'$;-2%'+@)-% $

  • OPP$-Q@)G$-+@A%'(-42$
  • OPP$4):)'2J2):)'2M$

–A)0)/%$w;-2%'+@)-%?fQTQY$_0)$ –B"-%)\%$@)-+M$

  • A"+'/)$t$$

Z)-)'Q%)$4):)'2$Q-P$2):)'2$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ iD$

  • Select all
  • Insertion point

last member

  • Generate method

comments; OK

slide-43
SLIDE 43

.P(%$/"P)$N"'$;-2%'+@)-% $

OPP$A%'(-4$Q'4$%"$/"-2%'+/%"'k$2)%$-Q@)$

public Instrument(String name) { this.name=name; }

  • AQT)$_0)$
  • 87)$"+%0(-)$2"$NQ'$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ iL$

slide-44
SLIDE 44

;-2%'+@)-%?fQTQ $

2"$NQ' $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ ii$

// w/o comments: package com.myco.viewplugin.obj; public class Instrument { private String name; private int numStrings; public Instrument(String name) { this.name=name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getNumStrings() { return numStrings; } public void setNumStrings(int numStrings) { this.numStrings = numStrings; } }

slide-45
SLIDE 45

e2)$-)#$"9f)/%2$(-$B"-%)-%3'"T(P)' $

  • .P(%$AQ@10)v()#?fQTQ$W(%Y2$+-P)'$/"@?@S/"?T()#10+4(-?T()#2$1Q/RQ4)X$
  • ;-$v()#B"-%)-%3'"T(P)'$@"P(NS$4)%.0)@)-%2WX$$$QPP$w;-2%'+@)-%$@Q-P"0(-kY$
  • !"T)'$"T)'$)''"'$@Q'R)'$W')P$lX$%"$2))$`;-2%'+@)-%$/Q--"%$9)$')2"0T)P$%"$Q$%S1)a$
  • 87)$/"P)$-))P2$Q$(@1"'%$2%Q%)@)-%$%"$')2"0T)$(%?$
  • A))$-)\%$20(P)$"-$7"#$%"$4)%$./0(12)$%"$_\$(%$N"'$S"+d$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ iV$

slide-46
SLIDE 46

e2)$x+(/R$p(\$5$%"$_\$(@1"'% $

  • 3'"90)@M$`;-2%'+@)-%$/Q--"%$9)$')2"0T)P$%"$Q$%S1)a$

– A"0+="-M$$-))P$%"$QPP$Q-$(@1"'%$2%Q%)@)-%$N"'$%7)$-)#$/0Q22$(-$P(r)')-%$1Q/RQ4)$

  • A(-40)$/0(/R$"-$[(47%$6+09$J$3'"90)@$@Q'R)'$h$"'$$

e2)$/"-%)\%$@)-+$W'(47%$@"+2)XM$x+(/R$p(\$h$"'$h$ $W&(-P"#2$B%'05KX$$W<Q/M$B"@@Q-P5KX$%"$2))$2+44)2="-2M$

  • OPP2$(@1"'%$%"$%"1$"N$_0)M$
  • H&9(""*=/*)(*$33*%)**

)23,Z*)(*1(*D#&[N*

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ ic$

slide-47
SLIDE 47

B"@10)%)$4)%.0)@)-%2WX $

  • e2)$/"@10)="-J/"-%)-%$Q22(2%G$%)@10Q%)2G$)%/$%"$7)01$#(%7$/"P(-4$
  • B7Q-4)$3')N)')-/)2$%"$Q+%"@Q=/Q00S$1"2(="-$2)@(/"0"-$W2))$-)\%$20(P)X$

public Object[] getElements(Object parent) { Instrument mandolin = new Instrument("mandolin"); Instrument fiddle = new Instrument("fiddle"); Instrument banjo = new Instrument("banjo"); return new Instrument[] { mandolin, fiddle, banjo }; }

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ iI$

slide-48
SLIDE 48

3')N)')-/)2 $

IJKLJEF$

  • ./0(12)$$

3')N)')-/)2$Q00"#$ Q$"()*"N$ /+2%"@(gQ="-$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ in$

slide-49
SLIDE 49

<"P(NS$%7)$8Q90)$v()# $

  • A=00$(-$/"@?@S/"?T()#10+4(-$
  • [Q+-/7$Q4Q(-?$$$!@@@$j$-"%$Q$T)'S$(-%)')2=-4$T()#$
  • <"P(NS$%7)$[Q9)03'"T(P)'$%"$1'"T(P)$%7)$;-2%'+@)-%$-Q@)$
  • U)0Q+-/7k$2))$-(/)$-Q@)2$
  • C"#$0)%Y2$QPP$/"0+@-2$%"$%7)$%Q90)$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ iF$

slide-50
SLIDE 50

<"P(NS$%7)$8Q90)$v()# $

OPP$/"0+@-2$%"$%7)$%Q90)$ $

  • OPP$%"$%"1$"N$/')Q%)3Q'%B"-%'"0WXM$
  • e2)$x+(/Rp(\$W/0(/RGpKX$$

%"$_\$(@1"'%2M$ "'4?)/0(12)?2#%?#(P4)%2$

  • C"%)$S"+$P"-Y%$#Q-%$

%7)$fQTQ\?2#(-4$ /0Q22)2$%7Q%$x+(/Rp(\$ #(00$Q02"$2+44)2%d$ C)#$/"P)$P"#-$%"$7)')$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ VE$

slide-51
SLIDE 51

!QT)$/"0+@-2G$9+%j $

  • 87)')$Q')$-"#$%#"$/"0+@-2$
  • p(\$4)%B"0+@-8)\%WX$$

%"$')%+'-$0Q9)0$$ D5*&("=:,*

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ VK$

slide-52
SLIDE 52

<QR)$/"0+@-2$-(/)' $

  • O02"$/7Q-4)$4)%B"0+@-;@Q4)$%"$"-0S$

')%+'-$(@Q4)$N"'$_'2%$/"0+@-$

  • [Q+-/7$Q4Q(-k$#)$-"#$7QT)M$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ VD$

slide-53
SLIDE 53

<"')$(N$=@)$1)'@(%2 $

  • OPP$-+@9)'$"N$2%'(-42$%"$;-2%'+@)-%$"9f)/%2$
  • OPP$2)0)/="-$0(2%)-)'$%"$/"0$KM$$"1)-$(-$P)9+44)'$WB0(/R$"-$/"0$7)QP(-4$%"$(-T"R)J

4)%$)\/)1="-?$$&7Q%$%"$/Q%/7q$A+''"+-P$#(%7$%'SJ/Q%/7?$$B0Q22BQ%/7.\/)1="-d$ A7"#$/"P)$%)@10Q%)2$%7Q%$Q+%"@Q=/Q00S$Q11)Q'$N"'$%7)$')y+(')P$(-%)'NQ/)2?X$

  • B0"2)$'+-=@)$#"'R9)-/7k$.P(%$@Q-(N)2%G$/7Q-4)$T()#$-Q@)$Q-P$/Q%)4"'S$-Q@)k$

')0Q+-/7$

  • ,1="-Q0$8"1(/M$7""R$+1$%"$@"P)0$%"$')/)(T)$/7Q-4)2$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ VL$

slide-54
SLIDE 54

])9+44(-4 $

  • A)%$9')QR1"(-%M$

]"+90)5/0(/R$ Q%$0)u$)P4)$

  • [Q+-/7$./0(12)$P)9+44)'$
  • U+-$Q-P$2%)1$%7'+$/"P)$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Vi$

Run Debug

slide-55
SLIDE 55

./0(12)$P)9+44)' $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ VV$

slide-56
SLIDE 56

$$$O$!)01$30+45(- $

  • p('2%G$9'(-4$+1$./0(12)$7)01$%"$2))$#7Q%$(%$P")2$

–!)01$t$!)01$B"-%)-%2$

  • p"'$@"')$(-N"M$A))$7)01G$30Q^"'@$30+45(-$P)T)0"1)'$4+(P)$

t1'"4'Q@@)'Y2$4+(P)$t$+2)'$Q22(2%Q-/)$2+11"'%$t$!)01$

  • [)%Y2$@QR)$Q$7)01$10+45(-$1'"f)/%G$Q-P$+2)$%7)$

#(gQ'P$Q2$Q-$)\Q@10)$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Vc$

slide-57
SLIDE 57

$$$!)01$30+4(-$3'"f)/% $

  • C)#$10+4(-$1'"f)/%$
  • CQ@)M$/"@?@S/"?7)01G$$

C)\%$tG$C)\%$t$

  • 30+45(-$#(%7$2Q@10)$7)01$/"-%)-%k$$

p(-(27$

  • 3'"f)/%$(2$/')Q%)Pk$@Q-(N)2%$"1)-2$
  • 3)'+2)$1'"f)/%$/"-%)-%2M$$$

7%@0G$\@0G$)%/?$$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ VI$

slide-58
SLIDE 58

$$$;-2%Q00$l<[J!8<[$.P(%"'2 $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$

  • &)$-))P$7%@0J\@0$)P(%"'M$;-2%Q00$%7)@d$

– !)01$t;-2%Q00$-)#$2"u#Q')$ – &"'R$#(%7M$ZQ0(0)"$2(%)$ – e-P)'$&)9G$l<[G$Q-P$HQTQ$..$])Tj$ – B7""2)$`./0(12)$l<[$.P(%"'2$Q-P$8""02a$ Q-P$ – `&)9$3Q4)$.P(%"'a$ – C)\%$tG$C)\%$t$ O//)1%G$p(-(27$ U)2%Q'%$

Vn$

slide-59
SLIDE 59

$$$.P(=-4$!8<[ $

  • !8<[$.P(%"'M$

2S-%Q\$7(470(47=-4G$"+%0(-)G$ /"@10)="-G$)%/?$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ VF$

  • Web page editor:
  • 2-pane with

wysiwyg Select file, rightMouse, Open With…

slide-60
SLIDE 60

.P(=-4$l<[ $

  • $,1)-$&(%7$t$$l<[$.P(%"'$h$])2(4-$Q-P$A"+'/)$%Q92$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cE$

You don’t really need the XML editor for editing Eclipse manifests, however. There are special editors for these.

slide-61
SLIDE 61

U+-$%7)$!)01$30+45(- $

  • [Q+-/7$%7)$'+-=@)$#"'R9)-/7$55$Q2$9)N"')$
  • <QR)$2+')$%7)$-)#$10+45(-$(2$(-/0+P)P$(-$%7)$10+45(-2$(-/0+P)P$(-$%7)$

0Q+-/7$/"-_4+'Q="-$ W(%$1'"9Q90S$(2X$

  • ;-$'+-=@)$#"'R9)-/7M$

– !)01$t$!)01$B"-%)-%2$ – A))$S"+'$-)#$/"-%)-%d$

  • ,%7)'$/"@1"-)-%2$"N$./0(12)$`!)01a$

– B7)Q%27))%2$h$#Q0R$+2)'$%7'+$2%)12$$ – `&)0/"@)a$1Q4)$/"-%)-%$ – j)%/$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cK$

slide-62
SLIDE 62

3Q/RQ4(-4 $

  • *"+$#Q-%$"%7)'2$%"$9)$Q90)$%"$(-2%Q00$S"+'$$

10+45(-W2X$

  • A%)12M$

K? B')Q%)$Q$N)Q%+')$%"$0(2%$%7)$10+45(-2$ D? B')Q%)$Q-$+1PQ%)$2(%)$1'"f)/%$$#(%7$S"+'$ N)Q%+')W2X$ L? 6+(0P$(%G$%)2%$%7)$(-2%Q00G$Q-P$P(2%'(9+%)$

  • z(1$Q'/7(T)G$"'$
  • ,-$#)9$2(%)$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cD$

slide-63
SLIDE 63

B')Q%)$Q$N)Q%+')$1'"f)/% $

  • O-$./0(12)$?3#)=93$)-/Q12+0Q%)2$"-)$"'$@"')$$

10+45(-2?$$;%Y2$%7)$+-(%$#7(/7$(2$%,$)#""3-$9S$+2)'2?$

  • p(0)$t$-)#$3'"f)/%G$$

30+45(-$])T)0"1@)-%$t$$ $$$$$$$$$$$$p)Q%+')$3'"f)/%$ C)\%$t$

  • 3'"f)/%$-Q@)M$$)?4?$

/"@?@S/"?%7(-4?N)Q%+')$ C)\%$t$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cL$

slide-64
SLIDE 64

OPP$10+4(-2$%"$N)Q%+') $

IJKLJEF$

  • OPP$10+45(-2$

B7)/R$Q00$%7)$10+45(-2$S"+$@QP)$

  • p(-(27$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ ci$

slide-65
SLIDE 65

p)Q%+')$T)'2("-2 $

IJKLJEF$

  • *"+$Q')$)P(=-4$%7)$

N)Q%+')$@Q-(N)2%G$ N)Q%+')?\@0$

  • ,-$%7)$30+45(-2$%Q9M$
  • v)'2("-2j$

– B"1S$T)'2("-2$N'"@$10+45(-2$ – p(-(27$

  • AQT)$%7)$N)Q%+')?\@0$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cV$

slide-66
SLIDE 66

e1PQ%)$A(%) $

IJKLJEF$

  • B')Q%)$+1PQ%)$2(%)$1'"f)/%$

C)#$3'"f)/%G$30+45(-$])TG$e1PQ%)$A(%)$3'"f)/%$ CQ@)$(%$)?4?M$$`+1PQ%)a$ – *"+Y')$)P(=-4$%7)$2(%)?\@0$_0)$ – OPP$S"+'$-)#$N)Q%+')$%"$%7)$`A(%)$<Q1a$1Q4)?$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cc$

slide-67
SLIDE 67

OPP$(-P)\?7%@0 $

IJKLJEF$

– +%,)$*#,-*>/$N* – 0--*#,*%,-3FL2):"*\"3*%?*5(=*/"#,*)(*2($)*)23*=/-#)3*$%)3*(,*#*$39<39L* – .23,*%?*=$39$*1(*)(*5(=9*=/-#)3*$%)3*RWE*%,*#*D9(6$39Z*)235*6(,P)*$33*#,*399(9L* – .23$3*-%93&>(,$*)3""*)23:*)(*=$3*)23*RWE*6%)2%,*@&"%/$3Z*,()*#*D9(6$39L*

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cI$

slide-68
SLIDE 68

6+(0P$%7)$e1PQ%)$A(%) $

IJKLJEF$

  • 6+(0P$%7)$+1PQ%)$2(%)$

– B0(/R$`6+(0P$O00a$ – ,'M$2(%)?\@0$t$'(47%<"+2)$t$$ $$$$$3].$8""02$t$6+(0P$2(%)$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cn$

slide-69
SLIDE 69

e1PQ%)$2(%)M$#7Q%$4"%$9+(0% $

IJKLJEF$

  • 87(2$1'"f)/%$/"-%Q(-2$%7)$+1PQ%)$2(%)$M$

–2(%)?\@0$ –(-P)\?7%@0$ –N)Q%+')2$P('$ –10+4(-2$P('$

  • C"%)2M$

– ;-$T)'2("-2G$`y+Q0(_)'a$#Q2$')10Q/)P$#(%7$=@)2%Q@1$ – <"T)$%7)2)$%"$Q$#)9J_0)$2)'T)'$Q-P$S"+$7QT)$Q-$$ +1PQ%)$2(%)d$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ cF$

slide-70
SLIDE 70

e1PQ%)$2(%)M$8)2%$(-2%Q00 $

IJKLJEF$

–.\%'Q/%$Q$/0)Q-$./0(12)$A]s$

  • 8Q'$"'$+-g(1$j$0Q+-/7$j$+2)$-)#$#"'R21Q/)$-Q@)$

$ mkdir test-install $ cd test-install $ tar -xzf ~/downloads/eclipse-SDK-3.5-macosx-cocoa.tar.gz $ cd eclipse $ ./eclipse

  • !)01$t$;-2%Q00$C)#$$

A"u#Q')j$$$$$$$

  • OPP$j$["/Q0$$$$$$$Q-S$-Q@)$#(00$P"$
  • 3"(-%$Q%$S"+'$+1PQ%)$2(%)$1'"f)/%$0"/Q="-$
  • B7)/R$S"+'$N)Q%+')G$_-(27$(-2%Q00G$')2%Q'%$./0(12)$j?$
  • v"(0Qd$$C)#$9+:"-$(-$%""09Q'k$-)#$T()#$%""?$$$$$$$$$$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ IE$

slide-71
SLIDE 71

W,1="-Q0X$8#)QR$N)Q%+')J(-2%Q00 $

IJKLJEF$

  • OPP$Q$-Q@)P$BQ%)4"'S$

–e1PQ%)$A(%)$1'"f)/%M$)P(%$2(%)?\@0k$"-$`A(%)$<Q1a$ %Q9G$/0(/R$`C)#$BQ%)4"'SaG$4(T)$(%$Q$-Q@)G$P'Q4$ S"+'$N)Q%+')$+-P)'$(%$ –U)9+(0P$2(%)$$$$2(%)?\@0$t$3].$8""02$t$6+(0P$A(%)$

  • B')Q%)$-)#$)@1%S$)/0(12)$A]s$W+-g(1$Q4Q(-X$
  • U)5(-2%Q00M$@QS$-"%$2))$%7)$/7Q-4)2$S"+$@QP)?$

U)@"T)$+1PQ%)$2(%)$1'"f)/%$m$')5QPPG$')59+(0P?$

–BQ/7(-4$@QR)2$%7(2$Q#R#Q'Pdd$

!"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ IK$

slide-72
SLIDE 72

W,1="-Q0X$!Q-P@QP)$C)#$.\%)-2("-

$

B"-%'(9+=-4$%"$Q-$.P(%"'Y2$%""09Q'$h$Q/="-$%"$/"+-%$#"'P2$(-$ )P(%"'$2)0)/="-

$

  • ;-$Q$-)#$10+4(-$1'"f)/%G$"'$Q-$)\(2=-4$"-)M$$.P(%$10+4(-?\@0M$<Q-(N)2%$)P(%"'G$)\%)-2("-2$%Q9$
  • OPPM$$$"'4?)/0(12)?+(?)P(%"'O/="-2$
  • 8Q'4)%$(PM$"'4?)/0(12)?+(?])NQ+0%8)\%.P(%"'$W+2)$9'"#2)$j?$8"$_-P$(%$X$$$$$$$
  • )#$t$Q/="-$$$0Q9)0M$$`<*B,M$#"'P$/"+-%$$a

$$ – ;/"-M$2)0)/%$%7)$(/"-2J2Q@10)?4(N$Q0')QPS$(-$1'"f)/%$ – 8""0=1M$`<*B,M$27"#$#"'P$/"+-%$"N$2)0)/%)P$%)\%a$ – )-Q90)2p"'M$$`oa$$$W"-)$"'$@"')$2)0)/%)P$(%)@2k$%7(2$(2$)P(%"'$2"$Q-$(%)@$(2$Q$/7Q'Q/%)'$(-$%7)$)P(%"'X$ – 8""09Q'1Q%7M$`QPP(="-2a$ – ;PM$W"1="-Q0X$/7Q-4)$%"$/"@?)\Q@10)?7)00"#"'0P?#"'P/"+-%$Wf+2%$N"'$2Q-(%SX$ – B0Q22M$/0(/R$+-P)'2/"')P$`/0Q22{Ma$$%"$/')Q%)$#(%7$#(gQ'P$$

  • CQ@)M$&"'PB"+-%)'$
  • .-%)'$/"P)j?$W2))$-)\%$20(P)$"'$1'"T(P)P$2Q@10)$_0)2$N"'$'+-WX$Q-P$2)0)/="-/7Q-4)PWX$@)%7"P2$
  • <Q-(N)2%M$OPP$P)1)-P)-/S$"-$"'4?)/0(12)?+(?)P(%"'2$$$$$$$%"$')2"0T)$`8)\%.P(%"'a$

– OPP$P)1)-P)-/S$"-$"'4?)/0(12)?fNQ/)?%)\%$%"$')2"0T)$`;8)\%A)0)/="-a$

  • A7"#$x+(/R$p(\G$,'4Q-(g)$;@1"'%2j$$$%"$_\$%7)$(@1"'%2 $$

– 8)2%$10+4(-d$[Q+-/7$'+-=@)$#"'R9)-/7?$

  • A)0)/%$%)\%$(-$)P(%"'G$'+-$-)#$O/="-?$C"%)$#,5*2)0)/="-$#"'R2?$$$$U)@Q(-P)'$(2$,1="-Q0M$
  • B7Q-4)$%"$"-0S$)-Q90)$"-$)P(%"'$%)\%$2)0)/="-$h$/0"2)$'+-=@)$#"'R9)-/7?$$
  • .\%)-2("-2G$'(47%@"+2)$"-$`<*B,M$#"'P$/"+-%$WQ/="-Xa$$C)#$t$2)0)/="-$$Q-P$9'"#2)$N"'$`;8)\%A)0)/="-a$
  • ;-21)/%$%7)$10+4(-?\@0$%7Q%$#Q2$4)-)'Q%)P?$$A))$7"#$%7)$l<[$/7Q-4)P?$
  • U)0Q+-/7k$-"%)$Q/="-$9+:"-$(2$4')S)P$"+%$(N$%)\%$(2-Y%$2)0)/%)P$(-$%7)$)P(%"'$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ ID$

slide-73
SLIDE 73

W1Q'%$"NX$&"'PB"+-%)'?fQTQ $

3Q2%$%7(2$(-2(P)$%7)$/0Q22$|} $

!"#$%&'()'*&+,#&-"(&'*&+,#&-".( /&%01(23%4(5&"#36(!"#$%$&'()(*&#+,-,.,/0123456789:;;<=>?@ABCDEFGHI%J-;K;L.5, !784#1($-#,(/'&910$'+,#&-":;910-3(%10-3<(;+,#&-"=%"&(&%"6'&+,#&-">(?( %)\%.P(%"'$b$W8)\%.P(%"'X$%Q'4)%.P(%"'k$ }( !784#1($-#,("73:;910-3(%10-3>(?( $$;]"/+@)-%$P"/+@)-%$b$%)\%.P(%"'?4)%]"/+@)-%3'"T(P)'WX?4)%]"/+@)-%W%)\%.P(%"'?4)%.P(%"';-1+%WXXk$ $$;8)\%A)0)/="-$%2$b$W;8)\%A)0)/="-X$%)\%.P(%"'?4)%A)0)/="-3'"T(P)'WX?4)%A)0)/="-WXk$ ((#3&(&-@'3A-73&.( &"B(?( $$A%'(-4$%)\%$b$P"/+@)-%?4)%W%2?4)%,r2)%WXG$%2?4)%[)-4%7WXXk$ $$%"R)-B"+-%$b$3'C(5&"#36)-@'3#D'":&'*&<(!"#$%$&'()(*&#+H/MNOKP*NQRKSGH5, }$1%&1E(:F%,G-1%0-3+*1'!0-3('>(?( %"R)-B"+-%$b$Ek$ }$ <)22Q4)](Q0"4?(/3,I,?(9:#>(,;KOTT0,.U$VW&6,!NLX,YNOKP.0,.ZO[\RL,N],^NLXS6,.,J,PNQRKYNOKPH5, }$ !784#1($-#,(/'4'10-3AE%36',:;910-3(%10-3<(;5'4'10-3(/'4'10-3>(?( #H(:/'4'10-3(IJ(3744(KK(/'4'10-3(#3/&%31'-H(;)'*&5'4'10-3>(?( ;8)\%A)0)/="-$2)0$b$W;8)\%A)0)/="-X$2)0)/="-k$ #H(:/'4L6'&G'36&E:>(JJ(M>(?( Q/="-?2)%.-Q90)PWH%4/'>.( }$'4/'(?( Q/="-?2)%.-Q90)PW&"7'>.( }$ }$'4/'(?( Q/="-?2)%.-Q90)PWH%4/'>.( }$ }$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ IL$

slide-74
SLIDE 74

AOM$A"+'/)$B"P)$O-Q0S2(2 $

??$O-P$2"@)$2"+'/)$/"P)$')1"2(%"'S$N+-$>$P)T?)/0(12)?"'4 $ j$O-P$2"@)$10+45(-$P)1)-P)-/S$P)9+44(-4 $

  • &)$#(00$P"$2"@)$2"+'/)$/"P)$Q-Q0S2(2$"-$BJBoo$/"P)$
  • p('2%$4)%$B]8$W./0(12)$BJBoo$])T)0"1@)-%$8""02X$M$!)01$t$;-2%Q00$-)#$2"u#Q')G$ZQ0(0)"$2(%)$

– ZQ0(0)"$A(%)$t$3'"4'Q@@(-4$[Q-4+Q4)2G$./0(12)$BJBoo$])T)0"1@)-%$8""02$h$4)%2$%7)$9Q2(/2$ ,'M$OPP$A(%)M$7:1MJJP"#-0"QP?)/0(12)?"'4J%""02J/P%J')0)Q2)2J4Q0(0)"$5$["%2$@"')$(-/0?$Q0%?$1Q'2)'2G$ e3B$

  • C"%)M$S"+$@+2%$7QT)$4//J4P9J@QR)$)%/?$%"$Q/%+Q00S$D=%"-Q9=,*B$/"P)$h$9+%$-"%$')y+(')P$N"'$%7(2$

%+%"'(Q0$ – ;-2%Q00$Q-P$U)2%Q'%$)/0(12)$

  • B7)/R$"+%$Q$10+4(-$1'"f)/%$N'"@$P)T?)/0(12)?"'4$')1"2(%"'SM$

– &(-P"#$t$,1)-$3)'21)/=T)$t$,%7)'$j$BvA$U)1"2(%"'S$.\10"'(-4$ – ;-$BvA$U)1"2(%"'()2$T()#G$'(47%<"+2)G$C)#$t$U)1"2(%"'S$["/Q="-j$

  • !"2%M$P)T?)/0(12)?"'4$
  • U)1"2(%"'S$1Q%7M$$J/T2'""%J%""02$
  • e2)'M$Q-"-S@"+2k$$7(%$p(-(27$

– e-P)'$%7)$')1"$0"/Q="-G$+-P)'$!.O]G$"1)-$"'4?)/0(12)?1%1G$"1)-$%""02$N"0P)'G$"1)-$2Q@10)2$N"0P)'$ – B7)/R$"+%$"'4?)/0(12)?1%1?10P%?2Q@10)B]82%Q=/O-Q0S2(2$W'(47%<"+2)G$B7)/R$,+%X$ – Z"$9Q/R$%"$3].$3)'21)/=T)$$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Ii$

slide-75
SLIDE 75

AODM$A"+'/)$B"P)$O-Q0S2(2 $

  • [""R$Q%$1'"f)/%$"'4?)/0(12)?1%1?10P%?2Q@10)B]82%Q=/O-Q0S2(2$S"+$f+2%$/7)/R)P$"+%$N'"@$)/0(12)?"'4$
  • C"%)$')P$lY2$h$"1)-$3'"90)@2$v()#$
  • ;%$2))@2$#)$Q')$@(22(-4$2"@)$')y+(')P$

10+45(-2$

  • ].8,eUM$')2%$"N$%7(2$1Q4)$(2$"1="-Q0$
  • 8'S$%"$2))$(N$#)$/Q-$P"$#(%7"+%$%7)@M$

– .P(%$<.8O5;CpJ<OC;p.A8?<p$ – ])1)-P)-/()2$%Q9G$U)@"T)M$ IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ IV$

  • Save manifest.
  • Errors are still there. Darn.
  • Get MANIFEST.MF back as we found it:
  • rightMouse, replace with,

Latest from HEAD

slide-76
SLIDE 76

AOLM$A"+'/)$B"P)$O-Q0S2(2 $

  • [)%Y2$/7)/R$"+%$%7)$1'"f)/%2$#)$-))P$%"$/"'')/%$%7)$P)1)-P)-/S$)''"'2?$
  • 6Q/R$%"$BvA$U)1"2(%"'S$.\10"'(-4$3)'21)/=T)$
  • B7)/R$"+%$"'4?)/0(12)?1%1?10P%?/"@@"-$$

$$$$$$Q-P$"'4?)/0(12)?1%1?10P%?@1(?Q-Q0S2(2?/P%$$

  • U)2"0T)$)''"'2M$$p"'/)$Q$')9+(0PM$

– 3'"f)/%$t$B0)Q-j$ B0)Q-$1'"f)/%2$2)0)/%)P$9)0"#$ B7)/R$%7)$2Q@10)B]82%Q=/O-Q0S2(2$1'"f)/%$

  • 87)')$(2$2=00$"-)$)''"'M$
  • 6+%$C"%)$%7Q%$%7)')$Q')$-"$/"@1(0)$)''"'2k$0)%Y2$Q22+@)$%7(2$

P)1)-P)-/S$(2-Y%$-)/)22Q'S$

  • .P(%$<OC;p.A8?<pk$])1)-P)-/()2$%Q9k$U)@"T)$@1(?Q-Q0S2(2k$$

2QT)$@Q-(N)2%$

  • .''"'2$4"-)d$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ Ic$

If you still get dependency errors, and you are sure you shouldn’t, try (1) rebuilding project, or (2) removing and re-adding the dependencies

slide-77
SLIDE 77

AOiM$A"+'/)$B"P)$O-Q0S2(2 $

– [Q+-/7$'+-=@)$./0(12)$#"'R9)-/7$#(%7$-)#$10+4(-2$ – ,1)-$BJBoo$3)'21)/=T)$

  • &(-P"#$t,1)-$3)'21)/=T)$t$,%7)'j$$$$$Q-P$2)0)/%$BJBoo$3)'21)/=T)$
  • ;p$(%Y2$-"%$%7)')M$[)%Y2$(-21)/%$

– B0"2)$'+-=@)$#"'R9)-/7$ – ,1)-$[Q+-/7$/"-_4G$30+45(-2$8Q9G$8Q'4)%$30Q^"'@$ » <QR)$2+')$$Q00$%7)$$B]8$10+4(-2$Q')$/7)/R)P$ » .Q2()'M$B7)/R$Q00$Q%$%7)$%"1$"N$8Q'4)%$30Q^"'@$ » U)0Q+-/7M$8O5]Od$$$,1)-$BJBoo$3)'21)/=T)$ – &)$)\1)/%$%"$2))$@"')$%""09Q'$9+:"-2?$&7)')$Q')$%7)Sq$

  • ,1)-$%7)$.''"'$["4$T()#M$&(-P"#$t$A7"#$v()#$t$,%7)'$
  • C"$-)#2?$
  • B0"2)$U+-=@)$#"'R9)-/7?$,1)-$[Q+-/7$B"-_4?$
  • ,-$10+4(-2$%Q9G$/0(/R$`vQ0(PQ%)$30+45(-2a$$W0"#)'$'(47%X$

<(22(-4$10+4(-dd$;2$10P%?/"@@"-$/7)/R)P$(-$%7)$10+45(-2$0(2%$+-P)'$&"'R21Q/)q$$;N$-"G$/7)/R$(%?$ IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ II$

slide-78
SLIDE 78

AOVM$A"+'/)$B"P)$O-Q0S2(2 $

– U)50Q+-/7$'+-=@)$./0(12)$#"'R9)-/7$#(%7$Q00$%7)$/7Q-4)2$ – *"+$27"+0P$-"#$2))$%7)$(/"-2$N"'$%7)$Q-Q0S2(2$ – C"#$@QR)$Q$B]8$3'"f)/%$ – C)#$$B$3'"f)/%$h$!)00"$&"'0P$OCA;$B$3'"f)/%$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ In$

Z)%$2"+'/)$2Q@10)2$N'"@$/P%$Q-Q0S2(2$ 10+4(-G$+-P)'$w2Q@10)2Y$P('$

  • B"1S$Q-P$1Q2%)$N'"@$"-)$./0(12)$

#"'R9)-/7$%"$Q-"%7)'d$

  • A))$

7:1MJJ###?)/0(12)/"-?"'4JDEEnJq 1Q4)b2+9Jm(PbLIL$5$1')2)-%Q="-$$ `A%Q=/$O-Q0S2(2$(-$383$#(%7$B]8a$

slide-79
SLIDE 79

AOcM$$A"+'/)$B"P)$O-Q0S2(2 $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ IF$

  • Walkast.c
  • Select Walkast.c file in

Project Explorer

  • Select “Walk AST” icon in

editor toolbar

  • See text output in (dev. Workbench) console
  • Note: tree walk includes header files

(it’s long!)

  • See src to this plug-in for examples of

C/C++ manipulation

slide-80
SLIDE 80

A+@@Q'S $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ nE$

slide-81
SLIDE 81

A+@@Q'S $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ nK$

slide-82
SLIDE 82

A+@@Q'S $

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ nD$

slide-83
SLIDE 83

A+@@Q'S $

  • ./0(12)$P)T)0"1@)-%$7Q2$Q$2%))1$0)Q'-(-4$/+'T)$

– `2#(@@(-4$1""0$"N$[)4"2~a$ – ;%Y2$#"'%7$%7)$(-T)2%@)-%d$ – Z')Q%$2)%$"N$%""02G$4')Q%$/"@@+-(%S$

  • 87(2$%+%"'(Q0$(2$')Q00S$f+2%$Q$`%Q2%)a$"N$./0(12)$P)T)0"1@)-%$
  • 8QR)$QPTQ-%Q4)$"N$')2"+'/)2$

– 6""R2G$2(%)2G$7)01??$ – C)#24'"+12$Q-P$@Q(0(-4$0(2%2$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ nL$

slide-84
SLIDE 84

U)N)')-/)2 $

  • Z""40)$$
  • ./0(12)$!)01$h$(-$S"+'$#"'R9)-/7$Q-P$7:1MJJ7)01?)/0(12)?"'4$$
  • O'=/0)2$"-$)/0(12)?"'4$Q-P$;6<$

])T)0"1)'#"'R2$

  • 6""R2$

–./0(12)$10+45(-2$9S$B0QS9)'4$Q-P$U+9)0$WL'P$)P?X$ –HQTQ$])T)0"1)'Y2$Z+(P)$%"$./0(12)$W]YO-f"+G$ </BQ'%7S$)%?Q0?X$

IJKLJEF$ !"#$%"$&'(%)$*"+'$,#-$./0(12)$30+45(-2$M$ ,AB,C$EF$ ni$