问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有关编译器的问题

发布网友 发布时间:2022-05-18 23:02

我来回答

2个回答

热心网友 时间:2023-11-18 06:35

编译器可不是你想象得那么简单的哦:)
很多编译器并不是用汇编语言写的,那样太累了。
编译器涉及非常复杂的词法和语法分析。现在基本上都是采用lex和yacc之类的工具自动生成词法分析程序和语法分析程序。每种语言都有各自不同的词法和语法,你需要提供词法和语法的正则表达式之类的东西给lex和yacc,然后由这两个工具生成词法分析程序和语法分析程序。词法和语法分析程序可以将你设计的语言编写的程序生成中间代码,然后再想办法编程机器可读的机器码就能运行了。
当然你也可以自己手动写词法和语法分析器,不过那个工程太过庞大。

热心网友 时间:2023-11-18 06:36

你好!编译器(在windows下,javac.exe)将源代码(java文件)编译为字节码(bytecode),存放在class文件中。

字节码不能直接在机器上执行,而是通过虚拟机(windows下是java.exe)执行。具体的执行方式有两种:

1. 一般情况下解释执行。解释执行并不是“解释为用c++语言写成的程序”,而是jvm把字节码看成脚本,根据字节码中的指令,由JVM去调用实际的本地方法。

2. 在打开了JIT参数的前提下,jvm会把执行过程中发现的热点位置,由jvm内部的即时编译器编译为本地机器码直接执行。
编译器将java文件编译为class文件,解释器将class文件变为机器语言
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“泛览周王传”的出处是哪里 避事的意思是什么 怠息的意思是什么 “偷闲来此一嚬呻”的出处是哪里 怠息意思和来源是什么 客厅中间沙发旁旁边放什么 客厅沙发旁边放什么合适 沙发左右摆什么位置 淘宝网无法注册邮箱验证 谁能帮我注册一个谷歌帐号,我一直注册不成功,淘宝上也买不到,在线等... 路虎卫士90多图实拍 短轴更越野/或明年下半年上市 2020广州车展:全新路虎卫士90首发 全新路虎卫士90版本广州车展首发:硬派依旧,通过性更强 lex构造词法分析器 膝盖弯曲牵引到大腿疼痛 编译原理, 写一个简单文法的词法/语法分析器有简单的方法吗? 使用yacc和lex编写C语法分析器 法院观后感500字 可乐鸡爪鸭掌怎么做好吃,可乐鸡爪鸭掌的家 如何利用yacc工具进行语法分析 宝马x6断电之后打不着火 宝马x6洗了节气门后报歧管绝对压力过高什么原因 法庭旁听读后感开头怎么写? 请问法律观摩庭审(庭审录像)观后感应该怎么写呢?我是一名大一法学专业学生。求教,谢谢 见鬼拉,为什么QQ老是掉线 宝马x6出风口没风怎么回事 ADdobe Photoshop CS6: Photoshop.exe 无法找到组件 宝马x6空调制冷变差了是什么原因 QQ登陆不了.急求高手帮助解决.! 我的QQ为什么会自动重启啊!(3) 比“大G”更香,路虎卫士90 V8谍照,或2021年上半年发布 膝盖到大腿,腰都疼,和针刺一样感觉,什么病呢! 情怀与实力两不误 成都车展实拍卫士90/110 PHEV 功率超奔驰G63 V8版路虎卫士90谍照曝光 明年上市 块怎么做好吃,玉米烧鸡块的家常做法 微信的微回收给的是零钱还是卷? 玉米香菇烧鸡做法 微信微回收有退回的吗 有了解路虎卫士90的朋友吗?说是要在广州车展亮相了,能聊聊这款车的动力系统吗? 微回收里有没有信息泄露的风险 手机版微云回收站在哪 大白菜青虫用什么农药? 香姑娘生了青虫和七星瓢虫怎么办 散光如何配隐形眼镜 有散光可以带隐形眼睛伐 蟹爪兰生小青虫怎么办 瓜子黄杨生青虫怎么治 想拥有更多的资金来周转,如果申请信用卡,应该申请一张信用卡好还是申请多张信用卡好? 合伙人用手机收款来周转信用卡可以吗 创业资金紧张周转的信用卡内的资金,每月的信用卡账单有没有什么好办法?