Groovy for Domain-specific Languages - Second Edition

(nextflipdebug2) #1
[ 355 ]

D


document type definition (DTD) 3
domain-specific language (DSL)
about 2 , 3
design 8
evolution of programming languages 3
external, versus internal DSLs 9
for process engineers 6 , 7
implementation 9
language-oriented programming 5
operator overloading 10 , 11
stakeholder participation 8
users 6
DSL, designing
BroadbandPlus 287 , 288
BroadbandPlus application classes 302 , 303
convenience methods 296 , 297
deferred execution 294
events, handling 294 - 296
offers 297
reward DSL 289 - 293
RewardService class 298 - 302
reward types 289
shorthand features 296 , 297
testing, with Spock 304 - 307
dynamic finders 240


E


Eclipse plugin 41
Enterprise Java Beans (EJB) 3
ExpandoMetaClasses
about 179
constructors, adding 183
dynamic method naming 181
methods, replacing 180
overloaded methods, adding 182
static methods, adding 180
static methods, overriding 180
EXTended Operations Language (EXTOL) 7


F


FactoryBuilderSupport
about 267 - 272
isLeaf 268
newInstance 268


onHandleNodeAttributes 268
onNodeCompleted 268
setChild 268
setParent 268
feature methods 43
fields 46
fixture blocks 49
fixture methods
about 46
cleanup() 46
cleanupSpec() 46
setup() 46
setupSpec() 46
fourth-generation language (4GL) 5

G
game DSL
architecture 313
AST transform, implementing 323 - 326
class loading issues 338
controller annotations 344
debugging 339
DSL, loading 346
DSL, testing 337 , 338
for kids 312 , 313
game engine pattern, building 327 - 337
game server 340 , 341
game UI 348 - 351
goals 313
Gradle subprojects 338
JSONP 345
Spring Boot server,
integrating with 343 , 344
Spring Data mapping, for MongoDB 347
technology 313 , 314
TicTacToe 314 - 323
GeeTwitter class
fleshing out 128 , 129
global AST transformations
about 197
AST nodes, building 210 - 217
compile error 207 - 209
compiling 221 , 222
errors, handling 207 - 210
finite state machine DSL 197 , 198
packaging 221 , 222
Free download pdf