Tag: parsing

从Javascript中删除string中的结尾字符

什么是从string中删除特定尾随字符的可接受的方法? 例如,如果我有一个string: > "item," 我想删除尾随,只有当它们是''时, 谢谢!

如何在java中将hexstring转换为长整型?

我想在java中将hexstring转换为long。 我曾尝试过一般转换。 String s = "4d0d08ada45f9dde1e99cad9"; long l = Long.valueOf(s).longValue(); System.out.println(l); String ls = Long.toString(l); 但是我收到这个错误消息: java.lang.NumberFormatException: For input string: "4d0d08ada45f9dde1e99cad9" 有什么办法将string转换为长期在Java? 或者我想这是不可能的! 谢谢!

JavaScriptparsing器生成器

我见过一些JavaScriptparsing器生成器: Jison( http://zaach.github.com/jison/ ) PEG.js( http://pegjs.majda.cz/ ) ANTLR( http://www.antlr.org/ ) JS / CC( http://jscc.jmksf.com/ ) 有没有人有任何经验? 优缺点都有什么? 这些库准备好了吗? 和性能? 编辑 : 我想parsing和运行在JavaScript中的另一种语言

GSON – 从string获取JSON值

我试图parsingJSONstring“{'test':'100.00'}”,并得到GSON库的值:100.00。 我的代码如下所示: String myJSONString = "{'test': '100.00'}"; JsonObject jobj = new Gson().fromJson(myJSONString, JsonObject.class); String result = jobj.get("test").toString(); System.out.println(result); 我的结果是这样的:“100.00”,但我只需要100.00没有引号。 这怎么能成真?

是C#的lambdaexpression式语法LALR(1)?

我希望问的问题在标题中得到了肯定。 让我举一个有关语法的例子: identifier_list : identifier | identifier_list identifier; lambda_arguments : '(' identifier_list ')' | identifier; lambda : lambda_arguments '=>' expression 然后我们添加正常的C语言expression语法 – 特别是, primary_expression : '(' expression ')' | identifier | lambda; 真正的问题是,这个语法LALR(1)是可parsing的,即能够被自动parsing器生成器parsing吗? 还是需要手动滚动或GLRparsing器? 请注意,我希望具体了解这一小节,而不是上下文相关的关键字或其他部分。 我现在想的是,如果parsing器看到'(' identifier ')' ,这有两个有效的parsing,所以如果parsing器看到identifier ,向前看')' ,它将无法决定parsing树下去。 这可能只是一个转换/减less冲突,但是,我可以通过分配一些任意优先级(可能有利于'(' identifier ')' )来消除。 编辑:其实,我正在考虑用新语言中的这个语法分段来窃取类似的function。 我已经有类似于JavaScript的匿名函数的语法forms,但是我的天竺鼠吱吱声反馈抱怨说他们对于很多用途来说太冗长了,并且指出C#lambdaexpression式是更理想的解决scheme。 我担心这个解决scheme可能导致模糊。 所以,真的,我只对这一部分感兴趣。 其他类似generics和演员对我来说不是问题。 以前版本的语法是机械可分解的,我不想失去这个属性,而我之前使用机械发生器的经验告诉我,最好在这里检查一下,而不是尝试自己。 对于我的手滚parsing器,我当然可以简单地使用特殊情况'(' identifier比正常情况稍微向前看一些。

只能'perl6'parsingPerl 6吗?

有一个(相对)众所周知的Perl公理,“只有perl可以parsingPerl”。 我想知道,对于Perl 6,这仍然是真的吗? 扩大讨论…鉴于最近PyPy的更新,我想到了这个问题。 Perl的独特的可parsing性排除了类似的努力吗? 在Perl代码(PPI?)的受限制的静态视图中是否有很多值? Perl 6可以有一个JIT编译器吗?* *我不确定这些概念是否相关。 他们?

C ++重载parsing

给出下面的例子,为什么我必须明确地使用语句b->A::DoSomething()而不仅仅是b->DoSomething() ? 编译器的重载决议不应该找出我正在谈论的方法吗? 我正在使用Microsoft VS 2005.(注意:在这种情况下使用虚拟不起作用。) class A { public: int DoSomething() {return 0;}; }; class B : public A { public: int DoSomething(int x) {return 1;}; }; int main() { B* b = new B(); b->A::DoSomething(); //Why this? //b->DoSomething(); //Why not this? (Gives compiler error.) delete b; return 0; }

string到INT在Java中 – 可能坏数据,需要避免例外

看作Java没有可空types,也没有TryParse(),你如何处理inputvalidation而不抛出exception呢? 通常的方式: String userdata = /*value from gui*/ int val; try { val = Integer.parseInt(userdata); } catch (NumberFormatException nfe) { // bad data – set to sentinel val = Integer.MIN_VALUE; } 我可以使用正则expression式来检查它是否可parsing,但是这似乎也是一个很大的开销。 处理这种情况的最佳做法是什么? 编辑:理由:关于exception处理,有很多关于exception的讨论,一般的态度是,exception应该只用于意外情况。 不过,我认为坏的用户input是预期的,并不less见。 是的,这确实是一个学术问题。 进一步修改: 其中一些答案显示了究竟是什么问题。 你忽略被问的问题,回答另一个与它无关的问题。 问题不在于层之间的转换。 如果数字是不可parsing的,问题不是要求返回什么。 对于你所知道的,val = Integer.MIN_VALUE; 对于这个完全没有上下文代码片段的应用来说,这是正确的select。

有一个简单的编译器为小语言

我正在寻找一个简单的编译器,编译一个简单的语言,我需要它写一个关于它的文件,并学习编译器如何工作,我不是一个简单的语言寻找一个复杂的东西(简单来说,我的意思是一个小代码,因为例如海湾合作委员会太toooooo大)。 任何帮助表示赞赏。

使用Scalaparsing器组合器来parsingCSV文件

我正在尝试使用Scala分析器组合器编写一个CSV分析器。 语法基于RFC4180 。 我想出了以下代码。 它几乎可以工作,但我无法正确分离不同的logging。 我错过了什么? object CSV extends RegexParsers { def COMMA = "," def DQUOTE = "\"" def DQUOTE2 = "\"\"" ^^ { case _ => "\"" } def CR = "\r" def LF = "\n" def CRLF = "\r\n" def TXT = "[^\",\r\n]".r def file: Parser[List[List[String]]] = ((record~((CRLF~>record)*))<~(CRLF?)) ^^ { case r~rs […]