他不需要探索新语言的架🚒构,也就意味👶🍔🇰着不需要做重复工作,直接就开始进行编译器的编写,这对後面的语言部分开发很有帮助。
而这两项工作当🖜📡🜗中,编译器的代码数量并不📮🞎📄是特别大,主要功能只有三个:词法分析器、词义分析器以及优化器。
这三个部分基本上是所有🚒编⚑🐮译器都会有的,只要有这三个功能模块,基本上就☠🀵可以满足一款语言的编译工作。
词法分析器主要是将源文件转换为机器需要的格式🕸语言,并且对源文件语法做检查,起到高级编程语言的转换和检查作用。
语义分析器主要的🞡🕨🌇作用是将已经转换成的符合词法🕸规定的一系列的词语按照⛳🞟🕜语言结构的要求转换成一系列的语法结构,并进行结构化分析,形成中间代码。
优化器顾名思义,就是对应用语言的代码进行优化,提升代码🌛⛖的效率,将一些不是致命的错误进行优化。
除此之外,高级编程语言,还需要将语义分析器分析的结构X语言,转换为汇编语言和目标代码,这部🁜分一🔺般🝖🗙叫汇编。
高级语言一般都是片段式🚒的,完成一个目标功能的代码,往往存在於多个文件当中,在编译的时候,需要将这些文件整合,这一步叫做链接。
而他需要在编译器当中添加预编译功能,这麽做的目的,就是能够让程🏫🝂🈗序员⛳🞟🕜能够在编写🅯🍘代码的时候,就可以检查出错误。
这个功能对开发大型软件具有重要的🆇作用,如果每个程序员都犯一点小错误,不说复查花费的时间成本,就是存在的隐患也将是巨大的。
而且还需要在里面添加一系列约定🝦🍛🈵俗成的语法规范,这些功能也能🁭🉅够有效地减少程序员犯错误的概率。
像前世类似java的语言,在这方面做得就🜏🁊🄄b较出sE,虽然略显笨拙,但是却是开发大型软件🞺🙋的基础。
因为所有的程序员都遵循这样的规范,这就意味着不管有多少程序员参与🐆♐编写,最终整合起来依然具备可读X。
他希望能够花费一个月时间,将这件事情给完成,那时候时间已经到了1月份了,期末考试将要到来,然後就是学校放寒假。☍♴
时间来到12月15日,叶子书一如既往地在自己的宿舍编写代码,郭东生找了过来,说是有人想要收购🌄他的唱片公司。
而这两项工作当🖜📡🜗中,编译器的代码数量并不📮🞎📄是特别大,主要功能只有三个:词法分析器、词义分析器以及优化器。
这三个部分基本上是所有🚒编⚑🐮译器都会有的,只要有这三个功能模块,基本上就☠🀵可以满足一款语言的编译工作。
词法分析器主要是将源文件转换为机器需要的格式🕸语言,并且对源文件语法做检查,起到高级编程语言的转换和检查作用。
语义分析器主要的🞡🕨🌇作用是将已经转换成的符合词法🕸规定的一系列的词语按照⛳🞟🕜语言结构的要求转换成一系列的语法结构,并进行结构化分析,形成中间代码。
优化器顾名思义,就是对应用语言的代码进行优化,提升代码🌛⛖的效率,将一些不是致命的错误进行优化。
除此之外,高级编程语言,还需要将语义分析器分析的结构X语言,转换为汇编语言和目标代码,这部🁜分一🔺般🝖🗙叫汇编。
高级语言一般都是片段式🚒的,完成一个目标功能的代码,往往存在於多个文件当中,在编译的时候,需要将这些文件整合,这一步叫做链接。
而他需要在编译器当中添加预编译功能,这麽做的目的,就是能够让程🏫🝂🈗序员⛳🞟🕜能够在编写🅯🍘代码的时候,就可以检查出错误。
这个功能对开发大型软件具有重要的🆇作用,如果每个程序员都犯一点小错误,不说复查花费的时间成本,就是存在的隐患也将是巨大的。
而且还需要在里面添加一系列约定🝦🍛🈵俗成的语法规范,这些功能也能🁭🉅够有效地减少程序员犯错误的概率。
像前世类似java的语言,在这方面做得就🜏🁊🄄b较出sE,虽然略显笨拙,但是却是开发大型软件🞺🙋的基础。
因为所有的程序员都遵循这样的规范,这就意味着不管有多少程序员参与🐆♐编写,最终整合起来依然具备可读X。
他希望能够花费一个月时间,将这件事情给完成,那时候时间已经到了1月份了,期末考试将要到来,然後就是学校放寒假。☍♴
时间来到12月15日,叶子书一如既往地在自己的宿舍编写代码,郭东生找了过来,说是有人想要收购🌄他的唱片公司。