文章 "利用MQL进行MQL解析"

 

新文章 利用MQL进行MQL解析已发布:

本文描述了用于解析基于MQL的源代码的预处理器、扫描器和解析器,MQL 的实现在附件中。

编程本质上是使用通用或专用语言将某些过程形式化和自动化。MetaTrader 交易平台允许使用嵌入式MQL语言应用编程来解决各种交易员的问题。通常,编码过程是根据源代码中指定的规则分析和处理应用程序数据。但是,有时需要分析和处理源代码本身。下面是一些例子。

最一致和最常用的任务之一是在源代码库中进行上下文和语义搜索。当然,您可以像在普通文本中一样在源代码中搜索字符串;但是,所寻找的字符串的语义正在丢失。毕竟,在源代码的情况下,需要区分在每个特定情况下使用子字符串的具体情况。如果程序员想找到在哪里使用某个特定变量,例如“notification”,那么通过其名称进行简单的搜索可以返回远远超过必要的结果,其中字符串出现在其他值中,例如方法名、文本或注释中。

通常,在大型项目中,识别代码结构、依赖关系和类层次结构是一项更复杂和更受欢迎的任务。它与允许执行代码重构/改进和代码生成的元编程紧密相连。例如 MetaEditor 提供了一些生成代码的功能, 特别是使用 向导创建EA交易的的代码或者是根据源代码生成头文件,然而,这项技术的潜力更大。

代码结构分析允许计算各种质量度量和统计,以及查找编译器无法检测到的典型运行时错误源。事实上,编译器本身当然是分析源代码并返回许多类型警告的第一个工具;但是,检查所有潜在错误通常并不是内置的-此任务太大,因此通常分配给单独的程序。

此外,解析源代码也可以用于样式(格式化)和模糊(混淆)。

MQL解析类的UML图

作者:Stanislav Korotky