ILJc: Porting Microsoft.NET IL (Intermediate Language) to Java

S. Siddique, S. D. Sheriff, H. Wijesuriya, C. Wickramaratne, J. Makalanda
{"title":"ILJc: Porting Microsoft.NET IL (Intermediate Language) to Java","authors":"S. Siddique, S. D. Sheriff, H. Wijesuriya, C. Wickramaratne, J. Makalanda","doi":"10.1109/ICIIS.2006.365648","DOIUrl":null,"url":null,"abstract":"ILJc (intermediate language to Java compiler) would map IL (intermediate language) of the Microsoft.NET framework to Java based applications. ILJc would be the middle-base in compiling and translating the IL code which ports out of Microsoft Visual Studio.NET into the equivalent Java byte code. Thus, ILJc would simply transform Visual Studio.NET into relative Java applications. ILJc does its best to map Microsoft.NET entities to Java equivalents, furthermore ILJc must deal with the exceptions too. For an instance, in the case of exceptions, Java provides one exception class, but Microsoft.NET provides three; ILJc is forced to map all three Microsoft.NET exceptions to the single Java exception. The task is no easy to fix, but simply have to write around this many-to-one mapping. Although all Microsoft.NET exceptions are derived from the system.exception class, not all Java exceptions are derived from Java.lang.exceptions; some generated by the JVM (Java virtual machine) are derived from the Java.lang.error class. This incongruence shows up in Microsoft.NET code that tries to catch all exceptions, when translated into Java, exceptions derived from Java.lang.error is taken for granted and slip off. As a proof of concept of how that system could be, we started sometime ago to implement ILJc, featuring a modular, flexible architecture. In this paper we show its structure, how it can be used, and how it can be further extended","PeriodicalId":122994,"journal":{"name":"First International Conference on Industrial and Information Systems","volume":"117 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"First International Conference on Industrial and Information Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICIIS.2006.365648","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

ILJc (intermediate language to Java compiler) would map IL (intermediate language) of the Microsoft.NET framework to Java based applications. ILJc would be the middle-base in compiling and translating the IL code which ports out of Microsoft Visual Studio.NET into the equivalent Java byte code. Thus, ILJc would simply transform Visual Studio.NET into relative Java applications. ILJc does its best to map Microsoft.NET entities to Java equivalents, furthermore ILJc must deal with the exceptions too. For an instance, in the case of exceptions, Java provides one exception class, but Microsoft.NET provides three; ILJc is forced to map all three Microsoft.NET exceptions to the single Java exception. The task is no easy to fix, but simply have to write around this many-to-one mapping. Although all Microsoft.NET exceptions are derived from the system.exception class, not all Java exceptions are derived from Java.lang.exceptions; some generated by the JVM (Java virtual machine) are derived from the Java.lang.error class. This incongruence shows up in Microsoft.NET code that tries to catch all exceptions, when translated into Java, exceptions derived from Java.lang.error is taken for granted and slip off. As a proof of concept of how that system could be, we started sometime ago to implement ILJc, featuring a modular, flexible architecture. In this paper we show its structure, how it can be used, and how it can be further extended
ILJc:移植微软。NET IL(中间语言)到Java
ILJc(中间语言到Java编译器)将映射微软的IL(中间语言)。. NET框架到基于Java的应用程序。ILJc将是编译和翻译从Microsoft Visual Studio移植出来的IL代码的中间基础。NET转换成等效的Java字节码。因此,ILJc将简单地转换Visual Studio。NET转换为相对的Java应用程序。ILJc尽其所能映射微软。. NET实体转换为Java的等价物,而且ILJc还必须处理异常。例如,在异常的情况下,Java提供了一个异常类,但是Microsoft。NET提供了三个;ILJc被迫映射所有三个微软。NET异常转换为单个Java异常。这个任务不容易修复,但必须围绕这个多对一映射进行编写。虽然都是微软。NET异常是从系统派生的。异常类,并非所有Java异常都派生自Java.lang.exceptions;一些由JVM (Java虚拟机)生成的错误是从Java.lang.error类派生的。这种不一致体现在微软身上。NET代码试图捕获所有异常,当翻译成Java时,从Java.lang.error派生的异常被认为是理所当然的,并且会被忽略。为了证明这个系统的概念,我们在不久前开始实现ILJc,它具有模块化、灵活的体系结构。在本文中,我们展示了它的结构、如何使用它以及如何进一步扩展它
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信