首页 新闻资讯 RP系列 | 编辑器功能 | 语法高亮显示、参数帮助、语法检查、自动代码重新格式化

RP系列 | 编辑器功能 | 语法高亮显示、参数帮助、语法检查、自动代码重新格式化

在这篇文章中,我们来解释一下我们的软件 (RP Fiber Power V7, RP Resonator V4, RP Coating V4 and RP ProPulse V4)基本的编辑器特性,特别是新的调试器、改进的代码格式化规则、字符映射工具和一些新的控制结构。

在这篇文章中,我们来解释一下我们的软件 (RP Fiber Power V7, RP Resonator V4, RP Coating V4 and RP ProPulse V4)基本的编辑器特性,特别是新的调试器、改进的代码格式化规则、字符映射工具和一些新的控制结构。在那之后不久,我们决定进一步增加非常实质性的额外改进,这导致了好几周的繁重编程工作。

在开始介绍编辑器特性之前,我们想强调一下,我们的软件不是必须要用脚本代码才能控制的,它也可以用简单的表单来实现,甚至是为特定应用程序定制的表单(称为定制表单);只是对于最复杂的模拟来说,完全的灵活性只能通过脚本实现。

大多数编辑器特性的实现是由于使用了一个改进了很多的第三方编辑器组件,取代了以前使用的相当基础的编辑器,后者由Windows提供,并配备了一些额外的功能(但可能只在有限的范围内)。

特性如下:

语法高亮显示

脚本编辑器现在支持语法高亮显示。本质上,这意味着已识别的命令、函数和关键字名称将用不同的颜色高亮显示。此外,软件还会以不同的方式显示注释和字符串常量。这样,就可以更容易地识别脚本代码的结构。下面以RP Fiber Power 的演示脚本截图为例:

这看起来又实用又美观

参数帮助

我们软件的脚本语言支持许多函数,有时很难记住每个函数所需的确切参数列表。我们已经能够实现一个非常好的解决方案。如果您使用这样的函数,只需在编辑器中输入它的名称和开括号,就会显示参数帮助;您也可以自己点击一个函数参数来得到这个:

如果您曾经使用过这样的函数,显示的参数名将很容易提醒您需要在这里输入什么。在许多情况下,您不再需要使用交互式帮助系统。这当然很好,不过交互式帮助系统也很好用,它会向您显示更多的细节:例如,只需将光标放在函数名上,然后按F2来搜索函数名。然后双击函数名来确认您的选择,以便显示完整的解释。

语法检查

虽然模拟脚本通常运行得相当快,但在某些情况下,计算时间是很长的——例如,在一个大型数值网格上进行数值波束传播时。在这种情况下,如果程序执行这样的脚本,然后遇到由小小的打字错误(例如)引起的语法错误,就会非常尴尬。然后,在纠正错误之后,您可能不得不再次执行整个脚本。因此,在实际执行脚本之前检查语法的正确性是可取的。

确切地说,现在已经提供了:用编辑|检查语法或Ctrl-H你会得到语法快速检查。当发现问题时,将光标移动到相应的位置,并显示错误消息。在下面的例子中,缺少了一个结束括号:

自动代码重新格式化

我们引入了改进的代码格式规则,这使得代码的可读性大大提高。虽然这很好,但如果您已经有了许多脚本,然后希望重新格式化它们,那么就会遇到一个相当棘手的问题。其实软件仍然接受旧的格式,但是如果所有的脚本都不符合改进后的格式规则,那就不好了。

我们自己最初也开始手动重新格式化手稿,结果让我们意识到,自动重新格式化将是非常好的。需要注意的是,实现它也相当困难。尽管如此,我们最终还是实现了。虽然我们花了很多天的时间并绞尽脑汁,但是它运行得很好,让我们很欣慰。

例如,我们有一个包含以下部分的脚本:

R_min:=150 mm { minimum curvature radius }L_bend:=R_min*(90 deg)show “L_bend: “, L_bend:d3:”m”z1_bend:=(L_f-L_bend)/2z2_bend:=(L_f+L_bend)/2R(z):= if z 0 else if z R_min else 0theta(z):= if z 0 else if z -(z – z1_bend)/R_min else -pi/2

我们只是在编辑器按下Ctrl-R,然后它读如下:

R_min := 150 mm { minimum curvature radius }L_bend := R_min * (90 deg)show “L_bend: “, L_bend:d3:”m”z1_bend := (L_f – L_bend) / 2z2_bend := (L_f + L_bend) / 2R(z) := if z 0 else if z R_min else 0theta(z) := if z 0 else if z -(z – z1_bend) / R_min else -pi / 2

如果您想知道如何实现这样的特性,我们可以给您一些提示。在启动软件时,软件会以文本的形式读取整个脚本语言的正式定义。内存中的结果数据可以稍后由脚本解析器使用。

其原始功能语法检查(见上图),但提到的正式定义已经修改,这样它也描述了首选的格式——例如,在代码中的位置我们喜欢留有一个空白,在那我们需要有一个换行符,或在空白位置我们将保留一个换行符,如果在原来的代码中已经有一个换行符的话,等等。上面提到的解析器可以在读取原始代码时输出正确格式的代码。这是一个高度递归的操作,特别是在数学表达式的上下文中。正如您想象的那样,即使只是设计上述脚本语言的正式描述(特别是如果它像我们的语言那样强大和通用的话)也需要大量的思考,更不用说实现可以对脚本代码进行相应操作的解析器了。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: suifengmianlai

为您推荐

圆满落幕!望友精彩亮相2023工业软件生态大会

11月5日-6日,2023工业软件生态大会在深圳成功召开。

开目软件受邀出席2023工业软件生态大会,共探智造未来!

11月5日-6日,2023工业软件生态大会在深圳会展中心火热开展,作为中国高端工业软件领导品牌、行业领先的3D智能工艺软件提供商,开目软件受邀出席并发表主题演讲。

2023第四届中国FMEA峰会暨聪脉新品发布会圆满召开

2023 中国·深圳 第四届中国FMEA峰会 暨聪脉新品发布会 圆满召开 聚焦FMEA 11月1日,由聪脉(上海)信息技术有限公司(以下称聪脉)主办的中国第四届FMEA峰会暨聪脉新品发布会在深圳凯悦酒店圆满召开。

一周客户新闻速递

近期热点 NEWS 2023.11.6 客户新闻 聪脉知道 了解企业客户最新热点 关心企业客户最新资讯 企 业 客 户 新 闻 周 速 递 新闻速览 近期客户热点新闻 1 中国一汽研发总院成功举办中国汽车工程学会汽车非金属材料分会第十届年会 2 金溢科技助力西部首个智驾社区启用! 3 宝钢股份与中国港湾签署战略合作协议 4 4 3 4 日月光半导体推出整合设计生态系统IDE将封装设计效率提升且周期最高可缩短50% 5 广东亿迅2个创新产品入选国家级服务业数字化解决方案优秀案例 6 北方华创连续三年荣登中国电子百强企业榜单 7 广西康明斯发动机首次在柳工重型拖拉机上实现成功配套 聚焦汽车整车行业客户 中国一汽研发总院成功举办中国汽车工程学会汽车非金属材料分会第十届年会 11月2日,“中国汽车工程学会汽车非金属材料分会第十届年会”在湖北十堰隆重举行。

27地入选!住房城乡建设部开展工程建设项目全生命周期数字化管理改革试点

“ 为贯彻落实国务院关于工程建设项目审批制度改革部署,按照全国住房城乡建设工作会议关于“数字住建”工作部署要求,加快推进工程建设项目全生命周期数字化管理,近日,住房城乡建设部印发《关于开展工程建设项目全生命周期数字化管理改革试点工作的通知》,决定在天津等27个地区开展工程建设项目全生命周期数字化管理改革试点工作。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部