SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Groovy AST Demyistified - 33degree
Report
Andres Almiray
Follow
Software Developer, Open Source advocate
Mar. 17, 2013
•
0 likes
•
1,396 views
1
of
45
Groovy AST Demyistified - 33degree
Mar. 17, 2013
•
0 likes
•
1,396 views
Download Now
Download to read offline
Report
Technology
Groovy AST Demyistified - 33degree
Andres Almiray
Follow
Software Developer, Open Source advocate
Recommended
Groovy AST Demystified
Andres Almiray
7.7K views
•
42 slides
Rocket Propelled Java - Devoxx12
Andres Almiray
1.2K views
•
10 slides
SCM Boot Camp
bleis tift
9.8K views
•
98 slides
JAZOON'13 - Andres Almiray - Rocket Propelled Java
jazoon13
675 views
•
10 slides
APIテストあれこれ
tzm_freedom
543 views
•
11 slides
A Walkthrough of Groovy AST Transformations
Andres Almiray
688 views
•
26 slides
More Related Content
Similar to Groovy AST Demyistified - 33degree
Groovy AST Demystified
Andres Almiray
2K views
•
41 slides
AST Transformations: Groovy’s best kept secret by Andres Almiray
ZeroTurnaround
1.3K views
•
46 slides
SimpleModelerによるAndroidアプリ自動生成 with g3/g4
Tomoharu ASAMI
782 views
•
24 slides
Fluent Development with FLOW3 1.0
Robert Lemke
3.1K views
•
44 slides
Groovy AST Transformations
hendersk
3.9K views
•
35 slides
Going to Mars with Groovy Domain-Specific Languages
Guillaume Laforge
90.5K views
•
162 slides
Similar to Groovy AST Demyistified - 33degree
(20)
Groovy AST Demystified
Andres Almiray
•
2K views
AST Transformations: Groovy’s best kept secret by Andres Almiray
ZeroTurnaround
•
1.3K views
SimpleModelerによるAndroidアプリ自動生成 with g3/g4
Tomoharu ASAMI
•
782 views
Fluent Development with FLOW3 1.0
Robert Lemke
•
3.1K views
Groovy AST Transformations
hendersk
•
3.9K views
Going to Mars with Groovy Domain-Specific Languages
Guillaume Laforge
•
90.5K views
Oracle Keynote from JMagghreb 2014
Simon Ritter
•
693 views
Jfokus - Rocket Propelled Java
Andres Almiray
•
854 views
"Xapi-lang For declarative code generation" By James Nelson
GWTcon
•
833 views
XML and Web Services with Groovy
Paul King
•
3.8K views
Development Principles & Philosophy
François-Guillaume Ribreau
•
11.4K views
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
Guillaume Laforge
•
3.4K views
What makes groovy groovy codeurs en seine - 2013 - light size
Normandy JUG
•
1K views
Free The Enterprise With Ruby & Master Your Own Domain
Ken Collins
•
641 views
SF Gradle Meetup - Netflix OSS
Justin Ryan
•
2K views
Groovy in the Enterprise - Case Studies - TSSJS Prague 2008 - Guillaume Laforge
Guillaume Laforge
•
1.1K views
Dsl로 만나는 groovy
Seeyoung Chang
•
4K views
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Cisco DevNet
•
217 views
Groovy Domain Specific Languages - SpringOne2GX 2012
Guillaume Laforge
•
5.1K views
Inside DocBlox
Mike van Riel
•
1.4K views
More from Andres Almiray
OracleDB Ecosystem for Java Developers
Andres Almiray
12 views
•
48 slides
Softcon.ph - Maven Puzzlers
Andres Almiray
5 views
•
37 slides
Maven Puzzlers
Andres Almiray
47 views
•
37 slides
Oracle Database Ecosystem for Java Developers
Andres Almiray
44 views
•
33 slides
JReleaser - Releasing at the speed of light
Andres Almiray
393 views
•
31 slides
Building modular applications with the Java Platform Module System and Layrry
Andres Almiray
291 views
•
50 slides
More from Andres Almiray
(20)
OracleDB Ecosystem for Java Developers
Andres Almiray
•
12 views
Softcon.ph - Maven Puzzlers
Andres Almiray
•
5 views
Maven Puzzlers
Andres Almiray
•
47 views
Oracle Database Ecosystem for Java Developers
Andres Almiray
•
44 views
JReleaser - Releasing at the speed of light
Andres Almiray
•
393 views
Building modular applications with the Java Platform Module System and Layrry
Andres Almiray
•
291 views
Going Reactive with g rpc
Andres Almiray
•
142 views
Building modular applications with JPMS and Layrry
Andres Almiray
•
186 views
Taking Micronaut out for a spin
Andres Almiray
•
644 views
Apache Groovy's Metaprogramming Options and You
Andres Almiray
•
715 views
What I wish I knew about Maven years ago
Andres Almiray
•
424 views
What I wish I knew about maven years ago
Andres Almiray
•
1K views
The impact of sci fi in tech
Andres Almiray
•
210 views
Gradle Ex Machina - Devoxx 2019
Andres Almiray
•
490 views
Creating Better Builds with Gradle
Andres Almiray
•
238 views
Interacting with the Oracle Cloud Java SDK with Gradle
Andres Almiray
•
789 views
Gradle ex-machina
Andres Almiray
•
557 views
Go Java, Go!
Andres Almiray
•
866 views
Going Reactive with gRPC
Andres Almiray
•
2.4K views
The JavaFX Ecosystem
Andres Almiray
•
933 views
Recently uploaded
Prompt Engineering - an Art, a Science, or your next Job Title?
Maxim Salnikov
18 views
•
28 slides
Google Cloud Study Jams Info Session
GDSCPCCE
29 views
•
13 slides
info_session_gdsc_tmsl .pptx
NikitaSingh741518
16 views
•
22 slides
Data Formats: Reading and writing JSON – XML - YAML
CSUC - Consorci de Serveis Universitaris de Catalunya
54 views
•
8 slides
h2 meet pdf test.pdf
JohnLee971654
52 views
•
4 slides
Roottoo Innovation V24_CP.pdf
roottooinnovation
25 views
•
13 slides
Recently uploaded
(20)
Prompt Engineering - an Art, a Science, or your next Job Title?
Maxim Salnikov
•
18 views
Google Cloud Study Jams Info Session
GDSCPCCE
•
29 views
info_session_gdsc_tmsl .pptx
NikitaSingh741518
•
16 views
Data Formats: Reading and writing JSON – XML - YAML
CSUC - Consorci de Serveis Universitaris de Catalunya
•
54 views
h2 meet pdf test.pdf
JohnLee971654
•
52 views
Roottoo Innovation V24_CP.pdf
roottooinnovation
•
25 views
Keynote: Two years at the British Library... and counting / Alan Danskin (Bri...
CILIP MDG
•
24 views
Unleashing the Power of Modern Carpooling Apps, Inspired by BlaBlaCar
Archie Cadell
•
34 views
Experts Live Europe 2023 - Ensure your compliance in Microsoft Teams with Mic...
Jasper Oosterveld
•
56 views
Accelerating Data Science through Feature Platform, Transformers, and GenAI
FeatureByte
•
139 views
Understanding Wireguard, TLS and Workload Identity
Christian Posta
•
100 views
BuilderAI Proposal_Malesniak
Michael Lesniak
•
85 views
Netwitness RT - Don’t scratch that patch.pptx
Stefano Maccaglia
•
92 views
Swiss Re Reinsurance Solutions - Automated Claims Experience – Insurer Innova...
The Digital Insurer
•
30 views
Elevate Your Enterprise with FME 23.1
Safe Software
•
277 views
How to use the Cataloguing Code Ethics at your day job : a hands-on workshop ...
CILIP MDG
•
34 views
Product Listing Presentation_Cathy.pptx
CatarinaTorrenuevaMa
•
62 views
ISO Survey 2022: ISO 27001 certificates (ISMS)
Andrey Prozorov, CISM, CIPP/E, CDPSE. LA 27001
•
79 views
UiPath Tips and Techniques for Error Handling - Session 2
DianaGray10
•
24 views
Announcing InfluxDB Clustered
InfluxData
•
54 views
Groovy AST Demyistified - 33degree
1.
Andres Almiray
@aalmiray Groovy AST Demystified
2.
ABOUT THE SPEAKER Java
developer since the beginning True believer in Open Source Groovy committer since 2007 Project lead of the Griffon framework Currently working for
3.
AGENDA AST, How did
we get here? AST Transformations Building your own AST
4.
AST, HOW DID WE GET HERE?
11.
AST TRANSFOR MATIONS
12.
G E
E V N I I L U S
17.
STANDARD GROOVY DISTRO INCLUDES: *
@EqualsAndHashCode * @AutoClone * @ToString * @AutoExternalize * @TupleConstructor * @Synchronized * @Canonical * @Field * @InheritConstructors * @Grab * @IndexedProperty * @GrabResolver * @Lazy * @CompileStatic * @PackageScope * @TypeChecked * @NotYetImplemented
18.
STANDARD GROOVY DISTRO INCLUDES: *
@Bindable * @Log * @Vetoable * @Slf4j * @ListenerList * @Log4j * @ConditionalInterrupt * @Commons * @ThreadInterrupt * @Singleton * @TimedInterrupt * @Immutable * @WithReadLock * @Delegate * @WithWriteLock * @Category * @Newify * @Mixin
19.
GROOVY ECOSYSTEM BRINGS: * @ByteCode
* Griffon * @Scalify * @EventPublisher * @Threading * GContracts * @PropertyListener * @Invariant * @MVCAware * @Requires * @MessageSourceAware * @Ensures * @ResourceResolverAware * Grails * @ResourcesAware * @Entity * @ThreadingAware * @TestFor
20.
GLOBAL AST TRANSFORMATIONS Groovy –
Grab Grails – GORM API Griffon – Threading injection Spock – the whole shebang
21.
BUILDING YOUR OWN AST
23.
LOCAL AST TRANSFORMATION 1. Define
an @interface • Easy peasy … right? 2. Define AST implementation • huh …… 3. Profit!
24.
GLOBAL AST TRANSFORMATION 1. Add
AST implementation entry to • META-INF/services/ org.codehaus.groovy.transform.ASTTransformation 2. Define AST implementation • ??? !!! ??? !!! 3. Profit!
36.
ADDITIONAL TOOLS AST browser AST
Builder
45.
Thank You!
@aalmiray andres.almiray@canoo.com