资讯专栏INFORMATION COLUMN

为什么很多代码都会有很多可有可无的空格?

laznrbfe / 2907人阅读

摘要:总不能理解为什么写代码时候,都是带上空格的,像这样然后,最近上编译原理课发现设计编译器时候要设计词法分析器,所谓词法分析就是确定哪些是标识符,哪些是变量,哪些是关键字,哪些是算符和界符。

总不能理解为什么写代码时候,都是带上空格的,像这样:

var a = 10,b = 20;
if(a != b){
    a = 20; 
}

然后,最近上编译原理课发现,设计编译器时候要设计词法分析器,所谓词法分析就是确定哪些是标识符,哪些是变量,哪些是关键字,哪些是算符和界符。
比如FORTRAN语句,

DO99K=1,10

这样一个语句词法分析时,肯定编译器分析要花一小点时间的。
但如果写成这样,

DO 99 K = 1,10

编译器一下就知道DO语句,99是标号,循环变量k从1取到10。

我想,可能能提高编译器编译效率吧(估计也提升不了多少),反正规整的代码是没坏处的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93203.html

相关文章

  • 史上最奇葩5种编程语言,有甚至模拟奶牛

    摘要:编者按本文作者为,主要介绍世上最怪异最难用的种编程语言。这些语言被称为极品编程语言。创造它们的原因通常是为了测试编程语言设计的临界,或者只是一个玩笑。就是母牛的编程语言设计时充分考虑了母牛的想法。 【编者按】本文作者为 Deepak Karanth,主要介绍世上最怪异、最难用的5种编程语言。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 最难学编程语言有哪些?很多人都用过Ja...

    LdhAndroid 评论0 收藏0
  • JavaScript核心概念及实践

    摘要:中的数据类型在中,包含种数据类型字符串数值布尔值以及对象。然而事实上,这个会弹出,究其原因,就是此处的,因为调用对象的存在,使得当闭包被调用时当这个的发生时,引用的是这个对象。关于函数可以保持自己内部的数据这一特性,成为闭包。 1.JavaScript中的数据类型 在Javascript中,包含6种数据类型:字符串(string)、数值(number)、布尔值(boolean)、und...

    wangxinarhat 评论0 收藏0
  • 全栈是概念,兴趣亦为追求(全栈开发者)

    摘要:耐得住寂寞,才能等得到花开慢慢积累自己的知识,不断叠加,全面优化,无论在哪个领域都可以有你的一席之地,即为有志者事竟成,破釜沉舟,百二秦关终属楚也祝我们能向未来发展的开发者们苦心人天不负,卧薪尝胆,三千越甲可吞吴。 我们今天来了聊一聊一个话题——全栈开发 作为一个程序员,不管是Java还是C...

    lbool 评论0 收藏0
  • JavaScript 中 forEach 源码

    摘要:我们只能通过一些公开的参考一些浏览器内核公开代码。但思路就在那了,更完善的代码待大家来补充,一起交流。原创不简单,码字不易,点个赞,行不行 在日常 Coding 中,码农们肯定少不了对数组的操作,其中很常用的一个操作就是对数组进行遍历,查看数组中的元素,然后一顿操作猛如虎。 就好像我们去买水果,在一堆水果中,一个一个看好坏。这个好,嗯,要,放入袋中;这个不好,不要,放回;这个好,嗯,呀...

    maochunguang 评论0 收藏0
  • JS代码在nodejs环境下执行机制和事件循环

    摘要:开始执行文件,同步代码执行完毕后,进入事件循环。时间未到的时候,如果有事件返回,就执行该事件注册的回调函数。对于多次执行输出结果不同,需要了解事件循环的基础问题。 1. 说明 nodejs是单线程执行的,同时它又是基于事件驱动的非阻塞IO编程模型。这就使得我们不用等待异步操作结果返回,就可以继续往下执行代码。当异步事件触发之后,就会通知主线程,主线程执行相应事件的回调。 本篇文章讲解n...

    Lowky 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<