老代码为啥如此设计,我是如何解决编译失败的?

本文讲述了作者重拾三年前的人工智能DSL语言项目,面对编译问题和设计疑问,通过新建空工程并迁移代码解决了问题。作者分享了过程中的学习和迁移技巧,以及最终使用xText编译得到预期结果的经历。
摘要由CSDN通过智能技术生成

周末翻出三年前的杰作“jpy”,专为人工智能开发的dsl语言,不仅编译无法通过,而且一连串的疑问映入眼帘。这…这…这些文件/内容都是干啥的啊,为什么如此设计?

技术千万条,专研第一条,自嗨无笔记,迟早两行泪。自从有了Maven/Gradle,编译不通过真是家常便饭了。可能最后啥都不缺,也得是和最新IDE不匹配。最简单的做法还是全部从来吧,不就是搬一下代码吗!

bf278fbe593b4ab692dbfa81f2a6c3d7.jpg

说真的,我就是新建了一个空的工程,运用十年的搬代码功力,成功拯救了老项目。然后一切都顺利解决了,顺便还回想起之前的一些兜底(坑)方案,这可是核心技术。

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public JpWithOpenCall createJpWithOpenCall()
  {
    JpWithOpenCallImpl jpWithOpenCall = new JpWithOpenCallImplCustom();
    return jpWithOpenCall;
  }

下图,运行得还不错,已经能正常编译 jpy 代码,不仅输出了Java,而且得到了预期的结果。在接下来的日子,终于可以和大家一起探索 xText 了。想必,我工作上也是用不到该技术,但毕竟曾研究过2个月,把这些分享给有需要的人。

a82f01e727324a0f9d63e34a477695f8.png

以下,正确输出的Java代码,以及运行的结果。其中,centipede是我实现的java版本的numpy。

8f6d694cd7034b9c986a5917b4e72664.png

在我分享之前,大家可以先去xText的官网看看  Xtext - Documentation

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欣爸爸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值