两周自制脚本语言2.2 句尾的分号_两周自制脚本语言2.2 句尾的分号试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 两周自制脚本语言 > 2.2 句尾的分号

两周自制脚本语言——2.2 句尾的分号

Stone语言为了简化语法,省去了if语句及while语句的条件表达式两侧的括号,并允许用户省略可以省略的句尾分号。如果同一行中写有多句语句,各句句尾的分号则不能省略。此时,分号用于区分不同的语句。 此外,{}括起来的代码块中最后一条语句的句尾分号能够省略。也就是说,如果句尾直接跟着},就不必使用分号。 { x = 1; y = 2 } 在上例中,y = 2之后没有分号。分号并不是一句语句结束的标识,而是代码块中语句之间的分隔符。因此,下面的代码块中含有3条语句,而不是2条: { x = 1; y = 2; } 其中第三条应该被视为一条空语句。空语句指的是没有内容的语句。 Stone语言中,行末的句尾分号也能省略。也就是说,如果该语句之后是换行符,就不需要另外添加分号。因此,空行也应被视为一句空语句,只不过省略了句尾的分号。 x = 1 y = 2 在上面的代码中,第1与第3行之间的空行是一句空语句。 由于Stone语言的句尾分号能够省略,换行与否将会大有不同。和Java等语言不同,此时换行符不会被简单地当作空白符处理。因此,Stone语言的表达式和语句不能中途换行。只有语句的句尾,或if、while等语句的语句体之前的{后能够换行。}与else之间,或else与{之间不能换行。例如: if i % 2 == 0 // error { even = even + i } // error else //error { odd = odd + i } 第1行的换行出现在{之前,这是不允许的。第4行没有将} else {写在一起,同样是错误的。只有下面的格式才是唯一正确的写法。 if i % 2 == 0 { even = even + i } else { odd = odd + i } 只不过,else部分的换行规则,也许不能符合所有人的喜好。 上述限制尽管增加了代码书写的难度,但如果允许代码在各种情况下换行,语言处理器的实现就会变得复杂。本书为了保持实现的简洁性,对能够换行的情况做了尽可能多的限制。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《两周自制脚本语言》其他试读目录

• 1.1 机器语言与汇编语言
• 1.2 解释器与编译器
• 1.3 开发语言处理器
• 1.4 语言处理器的结构与本书的框架
• 2.1 麻雀虽小、五脏俱全的程序设计语言
• 2.2 句尾的分号 [当前]
• 2.3 含糊不得的语言
• 3.1 Token对象
• 3.2 通过正则表达式定义单词
• 3.3 借助java.util.regex设计词法分析器
• 3.4 词法分析器试运行