导航:首页 > 源码编译 > 自定义编译语言java

自定义编译语言java

发布时间:2022-06-16 11:23:06

Ⅰ 请问在java中调用一个自定义方法,在调用之后才定义,不用先对方法声明吗

JAVA是预编译语言,比如一个函数A,在调用的时候要用到函数B。但是在写代码的时候B函数是按照顺序写在A函数后面的,在JAVA中,可以正常使用函数A。
但是在C语言中,一定要在代码开头声明函数B,再可以在A的后面实现函数B。
否则C语言中若不提前声明函数B,则函数B只能先在A函数之前实现好,再让A函数去调用B。

Ⅱ 能不能把java搞成编译型语言 有没有人设计一种编译器直接把java源码编译为机器指令

1. java已经是编译型语言,因为不编译源程序是没法直接运行的。只不过java是编译成中间的二进制代码,不是最终的机器代码。

2.已经有这种编译器,免费的如gnu的gcj,收费的如Excelsior JET。不过没有太大必要使用,java在运行时也会把中间代码动态优化成本地机器代码,这种优化的结果一般会优于预先编译的结果,因为动态优化可以因地制宜,根据程序运行情况和计算机硬件的状况来动态选择优化策略。

Ⅲ 高分求助:Java自定义脚本语言解释器的设计实现思路

这个你有编译原理基础的话,就在找本编译原理的书看,会想起来怎么做的。这个解析过程并不太难。

如果你没学过编译原理,那就别看了,短时间内掌握不了的。可以参考这个思路:
建立一个替换表:
{”如果“ : "if", "并且" : "&&", "则" : "{", "如果结束" : "}"},可能还有很多别的什么的吧
然后对程序进行替换
替换后为:
C = A + B
if(C > 0 && A > 5){
D=100
if(C > 5 && B > 10){
D=200
}
}
然后进行一些语法补全的操作什么的,争取转换为javascript之类的脚本语言。这样就能执行了

对于变量那个判断,可以对于变量进行遍历,查找全部赋值操作左边的变量,就是被赋值变量了,其他的就是可变的

Ⅳ 如何实现自定义Java编译时注解功能

自定义注解,可以应用到反射中,比如自己写个小框架。
如实现实体类某些属性不自动赋值,或者验证某个对象属性完整性等
本人自己用过的验证属性值完整性:

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface IgnoreProperty {
}
然后实体类中:
public class TarResearch implements Serializable{

@IgnoreProperty
private static final long serialVersionUID = 1L;

@IgnoreProperty
private Integer researchId;

@IgnoreProperty
private TarUser userId;

private String version;

private String grade;
....
}

然后action类中
// 验证数据完整性

Class<TarResearch > userClass = TarResearch .class;

Field[] field = userClass.getDeclaredFields();

for (int i = 0; i < field.length; i++) {

if (field[i].getAnnotation(IgnoreProperty.class) != null) {

continue;

}

String fie = field[i].getName().substring(0, 1).toUpperCase()

+ field[i].getName().substring(1);

Method method = userClass.getMethod("get" + fie);

Object obj = method.invoke(u);

if (obj == null) {

sendResponseMsg(response, "数据错误");

return null;

}

}

Ⅳ 如何自定义一种java语法并能正确编译和运行

那这样的语言就不叫Java了,叫你自创的语言。你需要自己实现这种语言的编译器。

Ⅵ java工作原理

Java工作原理
由四方面组成:

(1)Java编程语言
(2)Java类文件格式
(3)Java虚拟机
(4)Java应用程序接口
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类 ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。

Ⅶ java是编译语言还是解释语言

过来,不要没有手机的语言。

Ⅷ java语言在被设计的时候为什么会加上 编译 这一步

java语言在被设计的时候为什么会加上编译这一步,其实主要的考虑因素是性能,静态语言的执行效率比动态语言要高得多。所以需要编译。

Ⅸ 如何编写简单的java编译器(用java语言),比如说能翻译诸如"public static void main" 的就行。

看看《编译原理》或许对你有帮助。
要编译一门语言,你要知道它的语法 syntax 和语义 semantics,语法是用来检查所谓的“语法错误”,语义是让语句变得有意义,对计算机程序语言来说,就是把它翻译成计算机能执行的指令。
你需要了解最基本的一些概念诸如正则表达式,上下文无关语言,上下文相关语言,等等。

《编译原理》是很通用的基础书籍,里面我记得有介绍了 yacc 的用法,这是 GNU 里的一款编译器的编译器,对应有一个 Java 的 Project 叫 yacc for Java,你可以去 google 找一下。

如果你能写出一个检查语法错误的程序就已经很不错了,你可以考虑改做一个编辑器之类的软件(只需要找错,不需要编译)。如果你真要做编译器,工程量巨大不说,你首先需要对至少两种语言都熟悉,你需要对计算机的指令和它的执行方式有深刻理解,尤其是 Java 这种动态的高级语言,有类啊对象啊什么的,要把它翻译成机器指令实属不易,至今除了 Sun 的 javac 都没有很成功的编译器,那个 GCJ(把 Java 编译成本地代码)的尝试也只成功了一半,以前还被 MingW 包含在工具箱里(和 GCC 什么的一起),但是有很多特性不支持,而且已经很久不更新了,新版本的 MingW 里都没有了。想一个人从零开始设计一款 Java 的编译器,即使是专家都做不到啊。

Ⅹ 编译java程序需要使用什么命令

编译命令是 javac

  1. 首先使用记事本编辑一段简单的Java代码

阅读全文

与自定义编译语言java相关的资料

热点内容
怎么把电子版投标报价加密 浏览:29
电脑安全编译器 浏览:364
在服务器里如何调创造 浏览:835
知云登录为什么找不到服务器 浏览:815
python切片位置 浏览:375
平板加密视频怎么播放 浏览:377
程序员上下班不带电脑 浏览:835
androidrsa文件 浏览:64
linuxlvds 浏览:103
程序员选择职场 浏览:345
累加C语言算法 浏览:948
足浴店用什么app招人 浏览:191
php调用thrift 浏览:191
java精度丢失 浏览:903
地梁承台相交处箍筋加密 浏览:95
程序员绘本 浏览:647
php线程安全版 浏览:407
lilolinux 浏览:111
proteus51编译工具 浏览:309
黑马程序员c语言基础函数 浏览:839