解读这是什么语言或语法

时间:2013-04-18 18:28:27

标签: programming-languages

我们正试图破译一些规则语法,并且不确定其来源。

以下是一个例子:

(CARS->TYPE='C').and.(CARS->CD_CODE<>'').and.('|'+INVOICE->TYPE+'|'$'|AAA|').and.('|'+SUBSTR(INVOICE->TYPE,1,2)+'|'$'|11|')

具体而言,我们正在努力了解|$。任何人都可以告诉我他们是否看到过相似的内容并且对|$的正确解释有所躲避?

4 个答案:

答案 0 :(得分:1)

从它的语法我们可以看出它是一种“现代”语言。记住“现代”好吧;)

substr
.and. 
-> 
与cobol和汇编语言相比,

非常现代。

  

(CARS-&GT; TYPE = 'C')和(CARS-&GT; CD_CODE&LT;&GT; '')。。。和( '|' + INVOICE-&GT; TYPE + '|' $'| AAA | ')。而(' | '+ SUBSTR(INVOICE-&GT; TYPE,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.

(我不知道输出会是什么,因为它将整个发票类型与AAA进行比较,甚至将前两个字母比作11.也许您在提交之前编辑了代码?)

Fortran 90 可能是猜测,但即使 DBase III 也许。

DBase链接: http://lynnbob.com/bob/articles/DBASEIIIPlusLevel2.htm

Fortran链接: http://www.ews.uiuc.edu/~mrgates2/docs/fortran.html

关于管道的DBASE ......

如果传递参数,则必须用|分隔| (管道)。即使没有传递参数,也需要管道||。如果传递参数,它们将在||。

中分隔

答案 1 :(得分:0)

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

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

'|'看起来像管道字符的字符串文字并且考虑到上下文,它可能被用作平面文件格式数据库中的分隔符,类似于CSV。例如,明文可能类似于| INVOICETYPE | something | AAA |

但无法帮助您使用$运算符。这可能是变量替换或匹配任何操作,甚至是连接器。

答案 2 :(得分:0)

我的猜测: Fortran。

现在这是一种相当复杂的语言。我认为它没有->运算符,但似乎确实有=>。也许这是您的代码段中的供应商扩展。

亲Fortran证据是.and.运算符。

答案 3 :(得分:0)

看起来像FORTRAN-ish语言。 ->不是标准运营商。 |只是一个字符串(看起来不像运算符),但$看起来像运算符,可能是指定字符串格式的东西?推断这个事实是它总是出现在字符串组之间。