×
  • Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 

Mixing Source and Bytecode: A Case for Compilation By Normalization (OOPSLA 2008)

by on Nov 26, 2009

  • 815 views

Language extensions increase programmer productivity by providing concise, often domain-specific syntax, and support for static verification of correctness, security, and style constraints. Language ...

Language extensions increase programmer productivity by providing concise, often domain-specific syntax, and support for static verification of correctness, security, and style constraints. Language extensions can often be realized through translation to the base language, supported by preprocessors and extensible compilers. However, various kinds of extensions require further adaptation of a base compiler's internal stages and components, for example to support separate compilation or to make use of low-level primitives of the platform (e.g., jump instructions or unbalanced synchronization). To allow for a more loosely coupled approach, we propose an open compiler model based on normalization steps from a high-level language to a subset of it, the core language. We developed such a compiler for a mixed Java and (core) bytecode language, and evaluate its effectiveness for composition mechanisms such as traits, as well as statement-level and expression-level language extensions.

Statistics

Views

Total Views
815
Views on SlideShare
811
Embed Views
4

Actions

Likes
0
Downloads
13
Comments
0

2 Embeds 4

http://www.slideshare.net 2
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
Post Comment
Edit your comment

Mixing Source and Bytecode: A Case for Compilation By Normalization (OOPSLA 2008) Mixing Source and Bytecode: A Case for Compilation By Normalization (OOPSLA 2008) Presentation Transcript