Tag: parsing

parsingVisual Studio解决scheme文件

如何parsing.NET中的Visual Studio解决scheme(SLN)文件? 我想编写一个应用程序,将多个解决scheme合并为一个,同时保存相对的构build顺序。

PHP的YAMLparsing器

有谁知道一个好的YAMLparsing器的PHP? 如果是这样,这个图书馆有什么优点和缺点?

寻找“分词器”,“分析器”和“词法分析器”是什么以及它们如何相互关联和使用的明确定义?

我正在寻找“tokenizer”,“parser”和“lexer”是什么以及它们是如何相互关联(例如,parsing器使用标记器,反之亦然)的明确定义? 我需要创build一个程序将通过c / h源文件来提取数据的声明和定义。 我一直在寻找例子,可以find一些信息,但我真的很努力地掌握像语法规则,分析树和抽象语法树,以及它们是如何相互关联的基本概念。 最终,这些概念需要存储在一个实际的程序中,但是1)它们看起来像什么,2)是否有常见的实现。 我一直在维基百科关于Lex和Yacc这些主题和程序,但从来没有经历过一个编译器类(EE专业)我发现很难完全理解是怎么回事。

如何创build一个新的语言在Visual Studio中使用

我想写一个新的模板语言,我想让Visual Studio“支持”它。 我需要知道的是: 我如何parsing我的新语言? 鉴于我的新模板语言的一些代码,如何将其转换为HTML? 现在我正在使用正则expression式来通过标记来parsing它的标记,但是我不认为这会随着语言变得更复杂而变得非常好,并且没有错误检查。 我听说过ANTLR,但从来没有使用它。 这是否是这个工作的正确工具,还是有可能简单些? 理想情况下,我想发送任何语法错误到错误窗口尽可能多的信息(行#,错误types)像其他语言一样。 如何为Visual Studio创build新的文件types? 我如何获得语法突出显示? 我可以使用在步骤1中创build的parsing器,还是完全不同? 我如何获得智能感知? 我宁愿在C#中编写我的parsing器。

为什么在非consttypes的私有方法中不调用公共const方法?

考虑这个代码: struct A { void foo() const { std::cout << "const" << std::endl; } private: void foo() { std::cout << "non – const" << std::endl; } }; int main() { A a; a.foo(); } 编译器错误是: 错误:'void A :: foo()'是私人的。 但是,当我删除私人的只是工作。 为什么在非consttypes的私有方法时不调用公共const方法? 换句话说,为什么在访问控制之前重载parsing? 这很奇怪。 你认为这是一致的吗? 我的代码工作,然后我添加一个方法,我的工作代码根本不编译。

从URL获取文件名

在Java中,给定一个java.net.URL或http://www.example.com/some/path/to/a/file.xmlforms的String ,获取文件名最简单的方法是什么,减去扩展名? 所以,在这个例子中,我正在寻找返回"file"东西。 我可以想到几种方法来做到这一点,但我正在寻找一些容易阅读和简短的东西。

为什么要添加一个方法添加一个模糊的调用,如果它不会涉及到模糊性

我有这个class public class Overloaded { public void ComplexOverloadResolution(params string[] something) { Console.WriteLine("Normal Winner"); } public void ComplexOverloadResolution<M>(M something) { Console.WriteLine("Confused"); } } 如果我这样称呼它: var blah = new Overloaded(); blah.ComplexOverloadResolution("Which wins?"); 它将Normal Winner写入控制台。 但是,如果我添加另一种方法: public void ComplexOverloadResolution(string something, object somethingElse = null) { Console.WriteLine("Added Later"); } 我得到以下错误: 在以下方法或属性之间的调用是不明确的:> Overloaded.ComplexOverloadResolution(params string[]) 'and Overloaded.ComplexOverloadResolution<string>(string) ' 我可以理解,添加一个方法可能会引入一个调用歧义,但这是两个已经存在的方法(params string[])和<string>(string)之间的歧义! 显然,歧义所涉及的两种方法都不是新增加的方法,因为第一种是参数,第二种是通用的。 […]

当在Python中分割一个空string时,为什么split()返回空列表而split('\ n')返回?

我使用split('\n')获取一个string中的行,并发现''.split()返回一个空列表, [] ,而''.split('\n')返回[''] 。 有什么特别的原因造成这种差别吗? 有没有更方便的方法来计算string中的行数?

在c#中将整数转换为月份名的最佳方法是什么?

有没有一种最好的方法来在.net中整数变成月份名称? 显然,我可以启动一个date时间string,并parsing月份名称。 这似乎是一个巨大的浪费时间。

用PHPparsingRSS / Atom提要的最佳方式

我目前正在使用Magpie RSS,但是当RSS或者Atom feed没有正确的形成时,它有时会失败。 是否有任何其他选项用PHPparsingRSS和Atom提要?