Syntax 固定格式语言和自由格式语言有什么区别?

Syntax 固定格式语言和自由格式语言有什么区别?,syntax,programming-languages,Syntax,Programming Languages,在研究编程语言的原理时,我发现我们可以将编程语言分为“自由格式”或“固定格式”。例如,Java和C是自由格式语言,而RPG是固定格式语言。但我不知道这两个术语的含义是什么,也不知道如何分辨一种语言属于哪一类。我在谷歌上搜索过,但找不到有意义的想法 我的演讲幻灯片中提到了这一点: 在Java和C中,这种解释是基于语法的。这类语言称为自由格式。但在RPG中,这种语义是基于我们如何在布局中使用这些不同的组件。这类语言称为固定格式 现在大多数语言都是“自由格式”,因为我们在交互式设备上编程 当程序被打到

在研究编程语言的原理时,我发现我们可以将编程语言分为“自由格式”或“固定格式”。例如,Java和C是自由格式语言,而RPG是固定格式语言。但我不知道这两个术语的含义是什么,也不知道如何分辨一种语言属于哪一类。我在谷歌上搜索过,但找不到有意义的想法

我的演讲幻灯片中提到了这一点:

在Java和C中,这种解释是基于语法的。这类语言称为自由格式。但在RPG中,这种语义是基于我们如何在布局中使用这些不同的组件。这类语言称为固定格式


现在大多数语言都是“自由格式”,因为我们在交互式设备上编程

当程序被打到卡片上时,通常需要在某些列中打上某些东西

例如,大约1966年的FORTRAN:

第1栏-“C”供评论
第2列到第5列(我忘了可能是第1列到第5列)-数字语句标签
第6列-如果非空,则表示上一条语句的延续
第7列至第71列-语句
第72列至第80列-可选序列号(不由FORTRAN解释)

COBOL也有类似的规则

一些汇编语言(例如ICL1900)也有列使用限制

据我回忆,RPG对什么东西在哪里被打有更严格的规定。例如,第6列中的单个字符表示某个对象的数据类型

通常情况下,固定格式的编程语言都是在为特定语言设计的纸质表单上编写的,并且预先使用列进行打印。程序员手写,然后交给专业打卡操作员打卡

在以穿孔卡片为主要输入形式的系统上开发的语言往往采用固定格式。基于纸带的系统倾向于自由形式的输入

然而,如今,固定格式基本上已经成为过去,决定意义的是语句元素的语法,而不是它们的位置

(见附件)


(关于RPG II,请参阅IBM System 34。

现在大多数语言都是“自由格式”,因为我们在交互式设备上编程

当程序被打到卡片上时,通常需要在某些列中打上某些东西

例如,大约1966年的FORTRAN:

第1栏-“C”供评论
第2列到第5列(我忘了可能是第1列到第5列)-数字语句标签
第6列-如果非空,则表示上一条语句的延续
第7列至第71列-语句
第72列至第80列-可选序列号(不由FORTRAN解释)

COBOL也有类似的规则

一些汇编语言(例如ICL1900)也有列使用限制

据我记忆所及,RPG对什么在哪里打孔有更严格的规则。例如,第6列中的一个字符表示某个对象的数据类型

通常情况下,固定格式的编程语言都是在为特定语言设计的纸质表单上编写的,并且预先打印了列用法。程序员手工编写,然后交给专业的打卡操作员打卡

在以穿孔卡片为主要输入形式的系统上开发的语言倾向于采用固定格式。基于纸带的系统倾向于自由形式输入

然而,如今,固定格式基本上已经成为过去,决定意义的是语句元素的语法,而不是它们的位置

(见附件)


(关于RPG II,请参阅IBM System 34。

这是您的意思吗?@kaya3我想是的,但不确定。解释不清楚。在我的演讲幻灯片中提到了这种差异,“当给定int a=0时,这种解释基于Java和C中的语法。但在RPG中,这种符号是基于我们如何在布局中使用这些不同的组件。”。请编辑该问题,以包含您不理解的讲座幻灯片的相关部分。请小心准确复制。@kaya3我编辑了它。似乎没有太多有用的来源来回答这个问题;我在谷歌图书上找到了一页左右的教科书。这是您的意思吗?@kaya3我想是的,但不是sure、 解释不清楚。我的演讲幻灯片中提到了这种差异,“当给定int a=0时,这种解释基于Java和C中的语法。但在RPG中,这种符号是基于我们如何在布局中使用这些不同的组件。”。请编辑该问题,以包含您不理解的课堂幻灯片的相关部分。请小心准确复制。@kaya3我编辑了它。似乎没有太多有用的来源来回答这个问题;我可以从谷歌图书的教科书中找到大约一页。谢谢您的精彩解释。谢谢您的精彩解释在…上
int  a = 0