Free-form语言

简介: 在计算机编程领域,程序指令文本中的字符在『纸面』上所处的位置无关紧要 — 不像老式的穿孔卡片系统(punched card system)程序指令文本需要放置在指定列,这种编程语言就可算是自由形式语言(free-form language),这种语言里代码的换行也经常是没有特定意义的;空白符仅用于词法分析时的Token界定,而无其它含义。

在计算机编程领域,程序指令文本中的字符在『纸面』上所处的位置无关紧要 — 不像老式的穿孔卡片系统(punched card system)程序指令文本需要放置在指定列,这种编程语言就可算是自由形式语言(free-form language),这种语言里代码的换行也经常是没有特定意义的;空白符仅用于词法分析时的Token界定,而无其它含义。

大多数Free-form语言发源于ALGOL,包括C、Pascal和Perl。Lisp语言尽管不是发源自ALGOL,也是free-form的。Rexx差不多可算是free-form,尽管其某些情况下空白符被用作连接符。SQL虽然不算一门完整的编程语言,也是free-form的。

大多数Free-form语言也是结构化编程语言,有时也被认为是伴随着相应的free-form语法:早期的命令式( imperative )编程语言如Fortran 77 使用特定的列来代表行数,很多结构化语言并不使用或者不需使用。

结构化语言也有不属于free-form的,如ABC、Curry、Haskell、Python等。这些语言里有很多是采用了越位规则(off-side)的变体,倾向于用缩进而不是关键字或括号来对代码块分组。

原文:https://en.wikipedia.org/wiki/Free-form_language

目录
相关文章
content‘ is declared but its value is never read.富文本编辑器中这里必须的script中添加setup,引入到set当中时,带title的富文本写法
content‘ is declared but its value is never read.富文本编辑器中这里必须的script中添加setup,引入到set当中时,带title的富文本写法
|
前端开发 JavaScript Java
【前端】form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因
form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因
1097 1
|
数据采集 大数据 应用服务中间件
Lua 获取 Header 与 Body 数据|学习笔记
快速学习 Lua 获取 Header 与 Body 数据
Lua 获取 Header 与 Body 数据|学习笔记
|
JavaScript 前端开发 算法
node: JavaScript head out of memory 内存不足导致项目运行不起来
vue前端编译打包的时候或者是node后台运行的时候,node报错堆溢出
1465 0
node: JavaScript head out of memory 内存不足导致项目运行不起来
|
算法 C++ 容器
读书笔记 effective c++ Item 47 使用traits class表示类型信息
STL主要由为容器,迭代器和算法创建的模板组成,但是也有一些功能模板。其中之一叫做advance。Advance将一个指定的迭代器移动指定的距离: 1 template // move iter d units 2 void advance(IterT& iter, DistT d); // forward; if d < 0, 3 // move iter backward   从概念上来说,advance仅仅做了iter += d,但是advance并不是用这种方式实现的,因为只有随机访问迭代器支持+=操作。
942 0
|
C++
读书笔记 effective c++ Item 25 实现一个不抛出异常的swap
1. swap如此重要 Swap是一个非常有趣的函数,最初作为STL的一部分来介绍,它已然变成了异常安全编程的中流砥柱(Item 29),也是在拷贝中应对自我赋值的一种普通机制(Item 11)。Swap非常有用,恰当的实现swap是非常重要的,与重要性伴随而来的是一些并发症。
933 0
|
C++ 安全
读书笔记 effective c++ Item 19 像设计类型(type)一样设计类
1. 你需要重视类的设计 c++同其他面向对象编程语言一样,定义了一个新的类就相当于定义了一个新的类型(type),因此作为一个c++开发人员,大量时间会被花费在扩张你的类型系统上面。这意味着你不仅仅是一个类的设计者同时是一个类型设计者。
909 0
|
安全 程序员 C++
读书笔记 effective c++ Item 3 在任何可能的时候使用 const
Const可以修饰什么?   Const 关键字是万能的,在类外部,你可以用它修饰全局的或者命名空间范围内的常量,也可以用它来修饰文件,函数和块作用域的静态常量。在类内部,你可以使用它来声明静态或者非静态的数据成员。
875 0