2013-04-18 26 views
5

Bazı kural sözdizimini deşifre etmeye çalışıyoruz ve kaynağından emin değiliz. Özellikle biz | ve $ anlamaya çalışıyoruzBu dildeki hangi dil veya sözdiziminin olduğunu

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

: Burada

bir örnektir. Kaynak diline benzer bir şekilde ya da | ve $'un doğru yorumunu gördüklerinde bana haber verdiler mi?

+0

Eski günlerde, buna benzer bir sözdizimi olan birçok dil vardı. KORKUNÇ, ama daha çok başka bir şey. –

+0

(Kinda veritabanı-ish. Ancak COBOL ve kesinlikle RPG değil. Yine de başka bir rapor jeneratör dili olabilir.) –

+0

Dürüst olmak gerekirse, muhtemelen, etki alanı vermelidir, bu, operatörlerin anlamlarını göstermeye yardımcı olabilir. Özel infix operatörleri ile antiktan Coq'a kadar her şey olabilir. –

cevap

1

sözdizimi var bunu bir "modern" bir dil olduğunu söyleyebilirim. " modern" Tamam unutmayın;) COBOL ve montaj dil ile karşılaştırmak içinde

substr 
.and. 
-> 

oldukça modern.

(Cars-> = 'C' TİP) ve (Cars-> CD_CODE <> '').. Ve (.. '|' + INVOICE-> TİP + '|' $ '| AAA |' .

(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 
:) .ve ('|' + SUBSTR (INVOICE-> TİP, 1,2) + '|' $ '| | 11')

bir sahte kod olarak bir şey olurdu

$ kullanma konusunda Benim tahminim şöyle olacaktır:

= and <> are only when compare against a character 
$ when compare array of character, i.e. strings. 

(Çıktının ne olacağını bilmiyorum, çünkü tüm fatura türünü AAA ile ve hatta ilk iki harfle 11 olarak karşılaştırır. Belki de kodu göndermeden önce düzenlediniz?)

Fortran 90 bir tahmin olabilir, ama belki de DBase III olacaktır.

DBase linki: http://lynnbob.com/bob/articles/DBASEIIIPlusLevel2.htm

Fortran link: | parametreleri geçerseniz borular ile ilgili DBASE için http://www.ews.uiuc.edu/~mrgates2/docs/fortran.html

...

, bunlar ile ayrılmalı | (Boru). Hiçbir parametre geçilmese bile, borular, || gereklidir. Parametreler iletirseniz, bunlar, § içinde sınırlandırılır.

0

O TEMEL, Pascal, C, Java, Perl, Python, COBOL ya FORTRAN, o kadarını ben o dillere ile deneyimlerinden söyleyebilirim değil. Hangi kural motorunu kullandığınızı belirtmeniz yararlı olabilir. işlemi yapılırken

bir maç operasyon çok benziyor.

'|' boru karakteri için bir dize literal gibi görünüyor | ve bağlam göz önüne alındığında, muhtemelen bir CSV gibi bir düz dosya biçimi veritabanı türünde bir ayırıcı olarak kullanılıyor. Örneğin, düz metin muhtemelen bir şey olurdu | INVOICETYPE | bir şey | AAA |

Ancak, $ operatörüyle ilgili size yardımcı olamam. Bu değişken bir ikame veya bir maç-herhangi bir operasyon veya hatta bir uzlaştırıcı olabilir.

0

Benim tahminim: Fortran.

Şimdi bir oldukça karmaşık bir dil. -> operatörüne sahip olduğuna inanmıyorum ama => sahip görünüyor. Belki de snippet'inizde bir satıcı uzantısı var.

yanlısı Fortran kanıt .and. operatörüdür.

+0

FORTRAN, '<=' olan '/ =' veya '.ne.'yönünü kullanmaz mıydı? –

0

Bir FORTRAN-ish dili gibi görünüyor. Ancak, -> standart bir operatör değildir. | sadece bir dizgidir (bir operatör gibi görünmüyor), ancak $ kesinlikle bir operatöre benziyor, belki de string formatlama için bir şey var mı? Bu cformun çıkarılması, her zaman dizge grupları arasında ortaya çıktığı gerçeği. Ondan

İlgili konular