Tag: 解析

具有优先级的等式(表达式)解析器?

我使用一个简单的堆栈算法开发了一个方程式解析器,该算法将处理二元(+, – ,|,&,*,/等)运算符,一元(!)运算符和括号。 然而,使用这种方法,我会留下所有具有相同优先级的东西 – 无论运算符如何,都会从左向右进行评估,但优先级可以使用括号来强制执行。 所以现在“1 + 11 * 5”返回60,而不是人们所期望的。 虽然这是适合当前的项目,我想有一个通用的例程,我可以用于以后的项目。 为清晰起见编辑: 什么是优先解析方程的好算法? 我感兴趣的是一些简单的实现和理解,我可以自己编码,以避免授权问题与可用的代码。 语法: 我不明白这个语法问题 – 我手写的。 这很简单,我没有看到YACC或野牛的需要。 我只需要用“2 + 3 *(42/13)”这样的等式来计算字符串。 语言: 我在C中这样做,但我对算法感兴趣,而不是语言特定的解决方案。 C足够低,在需要时很容易转换成另一种语言。 代码示例 我发布了我上面提到的简单表达式解析器的测试代码 。 项目需求改变了,所以我从来不需要优化性能或空间的代码,因为它没有被纳入到项目中。 这是在原来的冗长的形式,应该是容易理解的。 如果我在运算符优先级方面做了进一步处理,我可能会选择这个宏,因为它与简单程序的其余部分相匹配。 如果我曾经在一个真实的项目中使用过这个功能,那么我会选择一个更紧凑,更快速的解析器。 相关的问题 数学解析器的智能设计? -亚当

在Bash中转换文件的有效方法

我有一个巨大的制表符分隔文件格式化 X column1 column2 column3 row1 0 1 2 row2 3 4 5 row3 6 7 8 row4 9 10 11 我只想使用bash命令以有效的方式转换它(我可以编写十行左右的Perl脚本来执行此操作,但执行速度应该比本机bash函数慢)。 所以输出应该看起来像 X row1 row2 row3 row4 column1 0 3 6 9 column2 1 4 7 10 column3 2 5 8 11 我想到了这样的解决方案 cols=`head -n 1 input | wc -w` for (( i=1; i […]

解析iPhone上的HTML

任何人都可以推荐一个C或Objective-C库的HTML解析? 它需要处理凌乱的HTML代码,将不完全验证。 这样的图书馆是否存在,还是我只是试图使用正则表达式?

PHP解析HTML代码

可能重复: 解析HTML的最佳方法 如何解析PHP变量中保存的HTML代码如果是这样的: <h1>T1</h1>Lorem ipsum.<h1>T2</h1>The quick red fox…<h1>T3</h1>… jumps over the lazy brown FROG! 我只想得到标题之间的文本,我知道使用正则表达式不是一个好主意。

将URI字符串解析为名称 – 值集合

我有这样的URI: https://google.com.ua/oauth/authorize?client_id=SS&response_type=code&scope=N_FULL&access_type=offline&redirect_uri=http://localhost/Callback 我需要一个具有已分析元素的集合: NAME VALUE ———————— client_id SS response_type code scope N_FULL access_type offline redirect_uri http://localhost/Callback 确切地说,我需要一个C#HttpUtility.ParseQueryString方法的Java等价物。 请给我一个这方面的建议。 谢谢。

如何使用SAX解析器解析XML

我正在学习这个教程 。 它工作得很好,但我希望它返回一个数组与所有的字符串,而不是与最后一个元素的单个字符串。 任何想法如何做到这一点?

JSONException:类型java.lang.String的值不能转换为JSONObject

我有一个JSON文件,其中有2个JSON数组:一个数组的路线和一个数组的景点。 一条路线应该由用户可以导航到的几个景点组成。 不幸的是我得到的错误: JSONException:类型java.lang.String的值不能转换为JSONObject 这里是我的变量和解析JSON文件的代码: private InputStream is = null; private String json = ""; private JSONObject jObj = null; try { BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); // hier habe ich […]

用于Java的SQL解析器库

有没有一个开源的Java库来解析SQL语句? 如果可能的话,它应该是可定制的或足够灵活的,以便能够解析(或至少忽略)特定于供应商的语法(例如Oracle表空间定义或MySQL的LIMIT子句)。 如果没有,严格遵守SQL标准也没有问题。 更新:我需要这两件事情: 为非SQL数据库提供SQL接口(映射到内部API调用) 在写入实际数据库之前重写SQL(例如Oracle)

解析逗号分隔的std :: string

如果我有一个包含逗号分隔数字列表的std :: string,解析出数字并将它们放入整数数组中的最简单方法是什么? 我不想把它推广到解析其他任何东西。 只是一个简单的逗号分隔的整数字符串,如“1,1,1,1,2,1,1,1,0”。