我有一个C-Header文件,定义了几个构造,包含多个char数组。
我想使用Java解析这些文件。是否存在用于将C-Header文件读入结构的库,或者是否存在可以理解C-Header文件的流解析器?
只是为了获得更多背景信息(我只是在寻找C-Header解析器,而不是针对此特定问题的解决方案):我有一个包含数据的文本文件和一个解释结构的C-
Header文件。两者都有点动态,所以我不想生成Java类文件。
例:
#define TYPE1
typedef struct type1
{
char name1[10];
char name2[5];
}
#endif
Type2,Type3等类似。
数据结构:
type1ffffffffffaaaaa
您可以将现有的C解析器用于Java。当然,它比解析头文件做得多,但这不应该伤害您。
我们使用来自Eclipse
CDT
项目的解析器。这是一个Eclipse插件,但是我们在Eclipse之外成功使用了它,我们只需要将3个Eclipse的JAR文件与解析器JAR捆绑在一起即可。
要使用CDT解析器,请从实现org.eclipse.cdt.core.model.ILanguage
,例如开始org.eclipse.cdt.core.dom.ast.gnu.c.GCCLanguage
。您可以调用getTranslationUnit
它,传递代码和一些帮助程序。一个org.eclipse.cdt.core.parser.FileContent
实例代表一个代码文件(至少在CDT7中,这似乎改变了很多)。创建此类对象的最简单方法是FileContent.createForExternalFileLocation(filename)
或FileContent.create(filename, content)
。这样,您就不必关心Eclipse的IFile
东西了,它似乎只在项目和工作区中起作用。
在IASTTranslationUnit
你回来表示文件的整个AST。其中的所有节点都是IASTSomething
类型的实例,例如,IASTDeclaration
等等。您可以实现自己的子类,org.eclipse.cdt.core.dom.ast.ASTVisitor
以使用访问者模式遍历AST。如果您需要进一步的帮助,请询问。
我们使用的JAR文件org.eclipse.cdt.core.jar
,org.eclipse.core.resources.jar
,org.eclipse.equinox.common.jar
,和org.eclipse.osgi.jar
。
编辑 :我发现了一篇包含以下代码片段的论文:“使用Eclipse C / C
开发工具作为健壮的,功能齐全,活动维护的开源C
解析器”,但是它不再在线可用(仅适用于简化版)。
我正在尝试使用iText7库升级我的代码。以前我使用过iTextSharp库,但看起来iText7是全新的。我尝试阅读pdf文档,但在“未找到pdf标题”之间遇到了一个异常。这是我的密码 我做错了什么?
本文向大家介绍java如何解析/读取xml文件,包括了java如何解析/读取xml文件的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java解析/读取xml文件的方法,供大家参考,具体内容如下 XML文件 Java 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助。
我正在使用Mule 4.4,并尝试读取文件,然后使用Dataweave转换为JSON。这是文件(它没有标头),文件中的最后一行为空白 在读取文件时,将mime类型设置为application/csv(尽管其管道分隔),这会是一个问题吗? 我遇到的问题是,我想将文件内容转换为json,如下所示: 然而,它显示如下:(重复第一行) 我认为这种情况正在发生,因为骡子假设第一行包含标题.这是我的数据编织:
问题内容: 我必须要做一个Windows应用程序,该应用程序会不时访问Gmail帐户并检查是否有新电子邮件。如果有的话,它必须阅读电子邮件的正文和主题(简单的文本电子邮件,没有图像或附件)。 请不要使用付费库,如果使用了其他库,请提供下载路径。 而且我只需要电子邮件正文和主题。因此,如果可以解析来自Gmail的冗长而复杂的邮件,并且仅包含主题和正文的两个字符串,那将是完美的选择。 最后,我只需要使
问题内容: HTTP服务器向我发送JSON响应(字符串),如下所示: 我想将此“远程文件夹的树”与本地文件夹树(例如,包含本地文件位置的字符串向量)进行比较,因此我想在(string,vector(map(string ,string)))(我不知道是否可行)。 我正在开发一种工具来在本地文件夹和远程文件夹之间同步文件,因此我正在使用boost列出本地文件夹,并且我想将本地列表与远程列表(JSON
一个HTTP服务器发送给我一个JSON响应(一个字符串),如下所示: 我想将这个“远程文件夹的树”与本地文件夹树(例如包含我的本地文件的位置的字符串向量)进行比较,所以我想在(string,vector ( map(string,string))(我不知道这是否可能)的地图上转换这个JSON。 我正在开发一个工具来同步本地和远程文件夹之间的文件,因此我正在使用boost列出本地文件夹,并且我想将本