|
|
Adrian D. Thurston
| thurston |
-{@}- |
complang.org |
About
In December 2008 I received my Ph.D. in Computer Science from the School of Computing, Queen's University. I was a
member of the Software Technology Lab.
My supervisor was
Dr. James R. Cordy.
I did my M.Sc. also at Queen's and my B.Math (Computer Science) at the
University
of Waterloo.
My professional interests include parsing technology, source transformation
and software development tools. I am currently working on a new source
transformation system called Colm.
I live in Vancouver, BC. I work for eSentire, Inc.,
which is based in Cambridge, Ontario.
I try to capture things
I figure out and find interesting. I also blather away on twitter.
My PGP Key. Use it, sign it, send me secrets!
Programs
- Ragel. Ragel is a development tool that compiles
regular language grammars into executable code. Ragel targets C, C++,
Objective-C, D, Java and Ruby. It is unique in that it allows you to embed
actions and control non-determinism in regular languages. Use it to build very
fast parsers.
Testbed
- Colm. COmputer Language Manipulation.
A programming language for the analysis and transformation of computer languages.
Colm is the result of Ph.D. research.
- Kelbt.
Kelbt generates backtracking LALR(1) parsers. Semantic undo actions given by
the user are executed during backtracking. The strategy for parsing ambiguous
constructs is user-controlled by way of ordering productions. Kelbt can be
used to produce grammar-based parsers for languages that are both
context-dependent and ambiguous (for example C++).
- DSNP -
Distributed Social Networking Protocol. Proof that we can abandon the silos and
get back in control of our digital identities.
Inactive Projects
- ETXL. ETXL is the prototype implementation of
the ideas developed in my Master's Thesis.
The prototype is itself a TXL program that transforms ETXL to pure
TXL then runs the TXL engine on the result.
- Aapl. Aapl is a C++ template library.
It provides implementations of AVL Tree, Linked List, Vector, Binary
Search Table and Sort. Aapl supports different generic
programming paradigms by providing several variations of the standard
data structures. Aapl data structures do not depend on heap memory
allocation nor have data members that are hidden behind a strict
abstraction layer.
Refereed Publications
| [6] |
Thomas K. Chen, Adrian D. Thurston, Randy E. Ellis, Purang Abolmaesumi.
A Real-Time Freehand Ultrasound Calibration System with Automatic Accuracy
Feedback and Control.
Ultrasound in Medicine and Biology, volume 35, issue 1, pp. 79-93, January 2009.
|
| [5] |
Thomas K. Chen, Adrian D. Thurston, Mehdi H. Moghari, Randy E.
Ellis, Purang Abolmaesumi. A Real-Time Ultrasound Calibration
System with Automatic Accuracy Control and Incorporation of Ultrasound Beam
Thickness. SPIE Medical Imaging 2008, San Diego, February 2008.
pdf.
|
| [4] |
Adrian D. Thurston and James R. Cordy. A Backtracking LR
Algorithm for Parsing Ambiguous Context-Dependent Languages. In 2006
Conference of the Centre for Advanced Studies on Collaborative Research (CASCON
2006), pp. 39-53, Toronto, October 2006.
pdf.
|
| [3] |
Thomas K. Chen, Purang Abolmaesumi, Adrian D. Thurston and
Randy E. Ellis. "Automated 3D Freehand Ultrasound Calibration with Real-Time
Accuracy Control." In 9th International Conference on Medical Image Computing
and Computer Assisted Intervention (MICCAI 2006), Lecture Notes in Computer
Science, volume 4190, pp. 899-906, Copenhagen, Denmark, October 2006.
pdf.
|
| [2] |
Adrian D. Thurston and James R. Cordy, "Evolving TXL." In 6th
IEEE International Workshop on Source Code Analysis and Manipulation (SCAM
2006), pp. 117-126, Philadelphia, September 2006.
pdf. |
| [1] |
Adrian D. Thurston. "Parsing Computer Languages with an
Automaton Compiled from a Single Regular Expression." In 11th International
Conference on Implementation and Application of Automata (CIAA 2006), Lecture
Notes in Computer Science, volume 4094, pp. 285-286, Taipei, Taiwan, August
2006.
pdf. |
Last changed: January 31, 2010
|
|