Using Java']Java reflection to automate extension language parsing

被引:0
|
作者
Parson, D [1 ]
机构
[1] Bell Labs, Lucent Technol, Murray Hill, NJ 07974 USA
关键词
D O I
10.1145/331963.331974
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An extension language is an interpreted programming language designed to be embedded in a domain-specific framework. The addition of domain-specific primitive operations to an embedded extension language transforms that vanilla extension language into a domain-specific language. The LUxWORKS processor simulator and debugger from Lucent uses Tcl as its extension language. After an overview of extension language embedding and LUxWORKS experience, this paper looks at using Java reflection and related mechanisms to solve three limitations in extension language - domain framework interaction. The three limitations are gradual accumulation of ad hoc interface code connecting an extension language to a domain framework, over-coupling of a domain framework to a specific extension language, and inefficient command interpretation. Java reflection consists of a set of programming interfaces through which a software module in a Java system can discover the structure of classes, methods and their associations in the system. Java reflection and a naming convention for primitive domain operations eliminate ad hoc interface code by supporting recursive inspection of a domain command interface and translation of extension language objects into domain objects. Java reflection, name-based dynamic class loading, and a language-neutral extension language abstraction eliminate language over-coupling by transforming the specific extension language into a runtime parameter. Java reflection and command objects eliminate inefficiency by bypassing the extension language interpreter for stereotyped commands. Overall, Java reflection helps to eliminate these limitations by supporting reorganization and elimination of handwritten code, and by streamlining interpretation.
引用
收藏
页码:67 / 80
页数:14
相关论文
共 50 条
  • [1] Using Java']Java reflection to automate extension language parsing
    Parson, D
    USENIX ASSOCIATION PROCEEDINGS OF THE 2ND CONFERENCE ON DOMAIN-SPECIFIC LANGUAGES (DSL'99), 1999, : 67 - 80
  • [2] Parsing expressions in Java']Java
    Ponsard, C
    DR DOBBS JOURNAL, 1999, 24 (03): : 10 - 10
  • [3] Parsing expressions in Java']Java
    Berg, C
    DR DOBBS JOURNAL, 1999, 24 (01): : 50 - +
  • [4] Using Heuristics to Automate Parameter Generation for Benchmarking of Java']Java Methods
    Kuperberg, Michael
    Omri, Fouad
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (01) : 57 - 75
  • [5] Java']Java reflection
    Tremblett, P
    DR DOBBS JOURNAL, 1998, 23 (01): : 36 - &
  • [6] Reflection analysis for Java']Java
    Livshits, B
    Whaley, J
    Lam, MS
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2005, 3780 : 139 - 160
  • [7] Linguistic reflection in Java']Java
    Kirby, G
    Morrison, R
    Stemple, D
    SOFTWARE-PRACTICE & EXPERIENCE, 1998, 28 (10): : 1045 - 1077
  • [8] Parsing expressions in Java
    Berg, Cliff
    Dr. Dobb's Journal, 1999, 24 (01):
  • [9] The language JAVA']JAVA
    Bohnlein, M
    WIRTSCHAFTSINFORMATIK, 1997, 39 (04): : 398 - 400
  • [10] Adding Dimension Analysis to Java']Java as a Composable Language Extension (Extended Abstract)
    Van Wyk, Eric
    Mali, Yogesh
    GENERATIVE AND TRANSFORMATIONAL TECHNIQUES IN SOFTWARE ENGINEERING II, 2008, 5235 : 442 - 456