Programming languages 解释这是什么语言或语法

Programming languages 解释这是什么语言或语法,programming-languages,Programming Languages,我们试图破译一些规则语法,但不确定其来源 以下是一个例子: (CARS->TYPE='C').and.(CARS->CD_CODE<>'').and.('|'+INVOICE->TYPE+'|'$'|AAA|').and.('|'+SUBSTR(INVOICE->TYPE,1,2)+'|'$'|11|') (CARS->TYPE='C')。和(CARS->CD_代码“”)。和。(“|”+发票->类型+“$”|“$”| AAA |')。和。(“|”+SUBST

我们试图破译一些规则语法,但不确定其来源

以下是一个例子:

(CARS->TYPE='C').and.(CARS->CD_CODE<>'').and.('|'+INVOICE->TYPE+'|'$'|AAA|').and.('|'+SUBSTR(INVOICE->TYPE,1,2)+'|'$'|11|')
(CARS->TYPE='C')。和(CARS->CD_代码“”)。和。(“|”+发票->类型+“$”|“$”| AAA |')。和。(“|”+SUBSTR(发票->类型,1,2)+“|”$”| 11 |)

具体来说,我们试图理解
|
$
。有没有人能告诉我他们是否见过与源语言相似的和逃避的语言,或者对
$
的正确解释?

我从这些语言的经验中可以告诉你的不是BASIC、Pascal、C、Java、perl、Python、COBOL或FORTRAN。提及您正在使用的规则引擎可能会有所帮助

正在执行的操作看起来很像匹配操作

“|”看起来像管道字符|的字符串文字,给定上下文,它可能在类似CSV的平面文件格式数据库中用作分隔符。例如,明文可能类似于| INVOICETYPE | something | AAA|

不过,我不能帮你处理$operator。这可能是一个变量替换或匹配任何操作,甚至是一个串联器。

我猜:Fortran

现在这是一门相当复杂的语言。我不相信它有
->
操作符,但它似乎有
=>
。也许这是您代码段中的供应商扩展


pro Fortran的证据是
。and.
运算符。

看起来像Fortran ish语言。不过,
->
不是标准的操作员。
|
只是一个字符串(看起来不像操作符),但是
$
当然看起来像操作符,可能是用于指定字符串格式的东西?从它总是出现在字符串组之间这一事实推断出这个C。从它的语法我们可以看出它是一种“现代”语言。记住“现代”好吧;)

与cobol和汇编语言相比,它们非常现代

(CARS->TYPE='C')。和(CARS->CD_代码“”)。和。(“|”+发票->类型+“$”|“$”| AAA |“)。和。(“|”+SUBSTR(发票->类型,1,2)+“|”$”| 11 |)

伪代码可以是:

(if car type is 'C'
and
if car cd_code is not empty
and
if invoice type is 'AAA'
and
if invoice type first 2 letters are '11')
then return true
我对使用$的猜测是:

= and <> are only when compare against a character
$ when compare array of character, i.e. strings.
=和仅在与字符进行比较时才有效
$when比较字符数组,即字符串。
(我不知道输出是什么,因为它将整个发票类型与AAA进行比较,甚至与前两个字母11进行比较。可能您在提交之前编辑了代码?)

Fortran 90可能是一个猜测,但即使是DBase III也可能是这样

数据库链接:

Fortran链接:

对于有关管道的数据库


如果传递参数,则它们必须由| |(管道)分隔。即使未传递任何参数,也需要管道| |。如果您传递参数,它们将被分隔在| |中。

很久以前,有很多语言的语法与之类似。它是FORTRANish语言,但更可能是其他语言。(看起来有点像数据库。但不是COBOL,当然也不是RPG。不过可能是其他报表生成器语言。)老实说,您可能应该给出域,这可能有助于指出运算符的含义。它可以是从古代到带有自定义中缀运算符的Coq。所以我们认为答案1几乎是100%,但最后一个peice是,所以我们认为答案1几乎是100%,但最后一个是,(“|”+SUBSTR(发票->类型,1,2)+“|”$”| 11 |)-在这一部分中,规则是否表示$=包含或以发票类型的某些信息开头或类似信息为真-现在知道它始终是一个3位数的数字,每个数字1-9指定发票类型的一部分。因此,112=经销商发票上有一些细节,而219或431等于完全不同的东西。因此,我们要证明的假设是-这条规则应该说明发票代码是否以11x开头?FORTRAN是否会使用
/=
.ne.
而不是
= and <> are only when compare against a character
$ when compare array of character, i.e. strings.