Language and Compiler Design
Specification and implementation issues for general or special-purpose
languages. Optimization, code-generation and compiler performance.
Experience implementing complex language features and maintaining
acquired technology.
I have developed compilers for C, C++, Pascal, Ada, Modula-2,
FORTRAN, BLISS and many other languages. Significant use of lex
and yacc parser tools, Diana IDL, experience with the internals
of the GNU C Compiler and GNU binutils.
Either fixed-price or time-and-materials consulting engagements
are possible. Activities can be at your site or remote over the
Internet.
Languages:
| Ada |
Algol |
AWK |
APL |
| Basic |
Bliss |
C |
C++ |
| COBOL |
FORTRAN |
LISP |
Modula-2 |
| Pascal |
PL/1 |
Perl |
Simula-67 |
| Smalltalk |
Snobol/SPITBOL |
Assembler |
Microcode |
| Verilog |
VHDL |
Java |
|
Operating Systems:
| Unix/Linux (Solaris,OSF/1,HP/UX,AIX) |
Windows (NT/2000) |
MacOS 8,9,X |
| VAX/VMS |
RSX-11M/D |
TOPS-10/20 |
| Domain/OS |
|
|
Hardware:
| Intel IA32/IA64 |
PowerPC |
MIPS R3000 |
| ADI 2106x DSP |
Motorola 68k |
National 32k |
| SPARC |
DEC Alpha |
VAX11 |
| PDP-11 |
PDP-10 |
PDP-8 |
| Ubicom IP2K |
ARM/XScale |
|
Education:
- Massachusetts Institute of Technology SB Electrical Engineering
and Computer Science
- Graduate studies at MIT, Boston University(Wang Institute), Stanford University
Experience:
Carbon Design Systems, Waltham MA
- Verilog/VHDL compiler producing code that runs 10-1000x faster than competing
simulators. Involved in parsing, sophisticated expression simplifier and code generation.
Implemented arbitrary precision integer arithmetic package and bitfield manipulation with C++ templates.
Hosted on SunOS and Linux, targetting Win32, Linux32, Linux64 or Sun.
Intel, Hudson, MA
- Enhancements, performance analysis and target system support
work for Xscale (ARM) compilers working with gcc and Intel's
Proton Compiler Technology.
Optimization-based tools for IA-64. Worked with Intel teams based
in Shanghai, PRC and Haifa, Israel in specification, implementation
and testing of complex compiler-like tools.
Embedded Chip Vendor, CA
- C compiler for 8-bit chip. Supports almost-ANSI C (no i/o),
including single-precision floating-point emulation. Chip has
4kb RAM, 64 kw instruction space and very strange instruction
set. Modified simulator, assembler and linker to support special
instructions..
Gigabit Router Startup, Acton, MA
- Port GCC 1.1.2, and binutils 2.9.1 to proprietary RISC ASIC
architecture having instruction-set specially tuned for parsing
and manipulating IP packets. Implemented C compiler, assembler,
linker and object tools. Implemented machine dependent code optimizations
to meet stringent code-size targets on very tight deadline.
- Upgrade to GCC 3.0 and improve code-generation to permit
additional functionality to fit within 2kw application instruction
space. Implemented CGEN functional simulator to automate compiler
testing.
Rational Software, Inc.,
Lexington, MA
- Critique ClearGuide's`process
definition language' used to describe and automate software
development processes in conjunction with vendor's configuration
management, source control and defect tracking tools. Provided
advice on parser error recovery, semantic and lexical improvements.
Recommendations for object-oriented mechanisms to support a hierarchy
of process definitions to support code-reuse and sharing.
-
- Provided critical support to deployment in large Asia-Pacific
bank, resulting in $500k revenue. Tracked down problems in Perl
interpreter involving reference-counting and eval-stack type-variant
errors.
Analog Devices, Inc. Norwood,
MA
- Fixed backlog of defects with SHARC g21k cross-compiler reported
to ADI by customers, including compiler bugs and large number
of runtime support bugs in double-precision floating-point, interrupt
handling, signals, setjmp()/longjmp(). Increased compiler conformance
to ANSI/ISO C; provided compiler defect fixes and build environment
improvements to new fixed-point DSP chip under development.
Mercury Computer, Inc. Chelmsford,
MA
- Modified gcc port to ADI 21060 SHARC DSP to meet requirement
for virtual 8-bit bytes (on machine architecture that's only
physically word addressable) Implemented code generation and
optimization improvements. Provided compiler workarounds for
hardware defects in early silicon for DSP. Consulting and technical
analysis for position-independent code design (C and Ada compilers)
Rewrote double-precision floating point code to correctly handle
NaNs and denorms. Co-recipient of Q2'96 Award for Excellence
in recognition for contribution to successful product development
efforts.
Developing extensions to compiler to support COFF format for
bss and common. Implemented little-endian version of byte-compiler
and position-independent code support.
Compiler Vendor, Cambridge, MA
- Produced proposal to DSP chip vendor for C language-extensions
and runtime model supporting a new generation of digital signal
processor chips. Evaluated design alternatives, features needed
in C library, optimization and code-generation issues for complex,
irregular architecture.
Compiler Startup, Burlington, MA
- Evaluating language implementation against features in other
vendors products; specify and implement front-end changes; port
i/o runtime system to Alpha OSF/1. Reimplemented full IBM PL/1
PICTURE parsing and runtime support in PL/1 and C.
Open Environment Corp., Cambridge, MA
- Managed development of multi-platform client-server CASE
tools, automating server framework generation using IDL compiler
with multiple backends (C, Perl, COBOL, Visual Basic, Powerbuilder,
4th Dimension, Hypercard).
Open Software Foundation,
Cambridge, MA
- Extended localedef(1) - compiler for internationalization
architecture. Maintained UNIX runtime (libc, libm). Machine-independent
math routines capable of passing various floating-point torture
tests. Runtime library changes for multibyte internationalization,
POSIX 1003.2 and XPG/4.
Apollo Computer, Chelmsford, MA
- Project leader for Ada, Pascal, and Common backend - teams
of from 2 to 8 engineers. Modified Verdix Ada for new generation
of hardware. Corrected over 100 existing defects in 3 months.
Validated two releases of Ada. Designed and implemented much
of Apollo's global optimizer (value propagation, live analysis,
register allocation) and peephole optimizer. Superior compiler
technology allowed Apollo machine to outperform faster Sun. Also
worked on C, C++, FORTRAN, LISP and Modula-2 compilers.
Digital Equipment Corp., Nashua,NH
- Project leader for all Bliss compilers (VAX, DEC-10, and
PDP-11), technical leader for 8 developers and 1 writer. Provided
high quality optimizing compilers for DEC's internal use in operating
systems, languages and CASE tools. Delivered three compiler products
to leading edge technology companies.
Back to Quality Software
Management