有些编程语言是以机器代码为模型的,比如汇编语言。其他语言是模仿自然语言,英语语言。另一些则不以机器代码或自然语言为模型。例如,像PROLOG这样的语言不遵循这两种模式。
我遇到了这个Perl模块语言::Romana::Perligata,它允许使用与拉丁语非常相似的语法编写程序。
是否有位置语法较少的编程语言?
有没有其他语言或模块可以让你用其他自然语言(如法语、希伯来语或波斯语)启发你用语法写作?虽然有维基百科上的一长串,但这些项目中的大多数都死了。
有一个关于StackOverflow的相关问题。被接受的答案是“使用谷歌”。
发布于 2012-04-29 13:40:04
目前唯一使用的书面编程语言,我可以想出我的顶部是HTML。现在取决于您对编程语言的定义,这可能算数,也可能不算数。
为了帮助您理解为什么没有很多高使用率的编程语言具有较少的位置语法,您必须了解大多数编程语言是如何设计的。大多数编程语言都是基于明确的语法,主要是通过使用LL和LR语法。为了保持语法的清晰性,大多数技术都依赖于使用符号和词(例如终端)的排序来使输入明确。你要找的是那些为了使语法不含糊而放弃位置的语言。如果编译器不能使用位置来确定语法是否明确,那么编译器需要一些其他提示才能使语法明确,例如#、%‘和“。另一种技术是将关键字与每个值相关联,即width=10,这是HTML所做的。如果您创建了一种不使用LL和LR语法的语法,则必须使用不同的技术来解决歧义,这种技术通常需要大量的计算机处理才能解决歧义。
声明性语言通常是我所知道的最接近的,例如PROLOG和SQL,但同样需要使用一些位置值。
出现在脑海中的唯一其他语言是将语言输入到处理输入的人工智能系统中,比如沃森,但您是否认为这是一种编程语言;如果您认为SQL是一种编程语言,那么为什么不对沃森进行口头查询呢?
发布于 2012-05-22 18:12:53
甲骨文策略自动化有用自然语言编写的业务规则。值得一看。
一个例子是:
Human Resources Policy 100 – Maternity Leave
100.1. The employee is eligible for maternity leave if
a. The employee is female and
b. Either
i. The employee has given birth to a natural child or
ii. The employee has taken legal custody of an adopted child
and
c. The employee is a full time employee and
d. The employee has been employed for at least 12 months continuously示例的原始源。
官方的甲骨文文档是这里。
https://softwareengineering.stackexchange.com/questions/146498
复制相似问题