70 likes | 220 Vues
CSU 670 Project Help. Fall 2005. Thoughts on highlighting. Cdn (cd normalized) Cdh (cd highlighted) First find an Eclipse independent solution, then specialize for Eclipse. Cleaner thinking More reusable. Turn the two cds into one new cd: integrated cd.
E N D
CSU 670 Project Help Fall 2005
Thoughts on highlighting • Cdn (cd normalized) • Cdh (cd highlighted) • First find an Eclipse independent solution, then specialize for Eclipse. • Cleaner thinking • More reusable
Turn the two cds into one new cd: integrated cd • *h* A = <b> B *h* <c> C <d> D *h* <e> E. • *h* C : G | *h* H | *h* I | J. • *h* E ~ { *h* S }. • A = <b> B <c> C <d> D <e> E. • C : G | H | I | J. • E ~ { S }.
Four questions to second cd • A ? • ->A,b,* ? • =>A,B • ~>R,S
Three questions to second cd • A ? • aplib.cd.ClassGraph.definesClass • ->A,b,* ? • aplib.cd.ClassGraph.getOutgoingEdges(v) • aplib.EdgeI.getSource() • aplib.EdgeI.isConstructionEdge() • =>A,B • aplib.EdgeI.isAlternationEdge()
Can we avoid constructing integrated cd explicitly? YES. • Traverse cdn and ask questions about cdh. • Need to do the work of the Printvisitor but in two colors. • Use e.g. aplib.cd.ClassDef. • isAlternationClass() • isConstructionClass() • isRepetitionClass()
Now become Eclipse specific • Use StyledText • Need to create pair coordinates to do the highlighting