在这段代码中使用了哪种编程语言?

时间:2015-08-12 01:10:41

标签: j

很多天前,我在开源社区看到了这段代码:

frq =: [:-.[:(2:|+/)\''''&=
  sp =: (#@[)([:<[}.[:>])"0 0[(]</.~[:+/\E.*.[:frq]),
  spf =: [:<[:([:','&sp[:-.&')'=&'('{"0 1,.&',')>
  cl =: #~[:-.e.&(33{.a.)*.frq
  parse =: [:([:<[:((spf@{.),(}.`([:<[:([:<[:spf"0[:'),'&sp>)"0[:');'&sp[:>{:)@.(2:=#)))[:':-'&sp>)"0 _1:}.[:'.'&sp cl

  isVar =: [:(91&>*.64&<)[:a.&i.[:{.>
  replace =: ((]i.~[:{.[){([:{:[),]`([:<[$:[:>])@.([:32&=[:3!:0[:>]))"2 0
  gp =: [:>[:{.>
  gv =: [:(#~[:+./"1 isVar"0),. 
  suit =: ([(0:`(([:(#=[:#[:~.[:{.|:)[:~.[:(#~[:-.[:isVar"0[:{:|:)gv)*.([:*./[:+./[:(isVar"0,=/),:))@.(([:#[)=[:#]))[:gp])"1 0#]
  sr =: [(](replace~[:|:])"2[:(([:-.[:isVar{:)"1#])[gv~[:gp])"1 0 suit
  groupVars =: [:([:<]$~2:,~[:-:#)"1[:>[:([:<[:;(>@[)([:<,"1 1)"1 2(>@]))/]</.~[:{.|:
  isRuleTrue =: ([:+./([:*./](isTrue~[:>])"1 0[:>[)"0 1)`(0:<[:#getVarsFromRule)@.(0:<#@gv@;@;@[)
  isTrue =: ]((a:&e.@])+.[:+./[(isRuleTrue~[:>])"1 0[:-.&a:])[:{:[:|:[:-.&(a:,a:)[:(0 2$a:)&,[:>sr
  getVars =: ;(([:<[:~.(>@{.@[)gv[:gp])`((>@{.@[)$:(<@<@gp@])([replace~[:|:[:>])"0 0(}.@[)getVarsFromRule~[:>[:{:[:>])@.([:<:[:#[:>]))"1 0 sr
  getVarsFromRule =: ](([:{.])#~[(isRuleTrue~[:>])"1 0[:{:])[:|:[(],[:<[replace~[:|:[:>])"1 0[:]`groupVars@.(0:<#)[:~.[:;[:;]([:<[getVars~[:>])"1 0[:;[

  goal =: ([:<S:0[:{.[:parse[:,&'.'])([:{&(>'No';'Yes')isTrue)`([:(]`((>@{.),[:' = '&,[:>{:)@.(2:=#))"1[:>getVars)@.([:+./[:isVar"0[)([:parse[)

我在这些网页上搜索了.j :( http://filext.com/file-extension/J),(http://fileinfo.com/extension/j)。他们说是用Java语言编写的。

但是,它被命名为:interpreter.j;并且,在其存储库中,它被定义为:Objective-J

我问了一些人:“它是用Objective-J写的吗?”。他们问我:“这段代码是否被混淆了?”。

此代码中使用了哪种编程语言?

3 个答案:

答案 0 :(得分:9)

是的,它是J编程语言。如果您真的想了解更多信息,请查看http://www.jsoftware.com

因为它如此简洁,一开始可能很难阅读,但有一个非常支持的社区愿意回答问题。 http://www.jsoftware.com/forums.htm

此外,J交互式环境还包括实验室,它将实际引导您完成理解某些概念的过程,同时允许您使用该语言的全部功能。

相反,如果您想要了解阅读的难度,那么请继续 - 但也许还要尝试一下。 : - )

答案 1 :(得分:3)

J programming language,为文件扩展名,bass-ackward assignment表示。

基于我的有限曝光(肯定只包含问题中提供的代码片段),它显然也是我发现的第一种语言,它实际上是一种只用于写入语言的Perl,我是以为我永远不会活着看到:-)我想我更喜欢坚持自己更具可读性的东西。

答案 2 :(得分:0)

不知道J语言是什么,但看起来您的代码确实正确解析了它。

http://www.jsoftware.com/