出于教育目的,我想为PHP编码构建一个IDE。
我制作了一个表单应用程序并添加了OpenFileDialog .(我的c#知识很有用,因为它很容易.即使没有智慧!)
在每种语言(甚至PERL)中,加载文件和从它读取行基本上是相同的。
但我的目标是写自制的智力。我不需要关于richtextBox和它生成的事件,端点,EOF等信息。
我的问题是,如何处理数据?一条接一条?
我认为Microsoft将SQL类型的数据库存储在应用程序项目文件夹中。但是,如何跟踪变量并以某种形式模拟它们呢?
我想知道如何在动态文本上有效地处理这个问题。
发布于 2013-03-12 20:05:07
从没有想过这一点,这听起来像是一个有趣的挑战。
就我个人而言,我认为您必须实现一个词法扫描器,将整个源文件标记为一个源树,每个令牌还包含有关它的信息,将令牌映射到源文件中的一行/字符。
从这里你可以看到你想走多远--当有人在令牌上徘徊时,它可以使用它周围代码的上下文来更智能地了解你提供的"intellisense“。
悬停在某物上将映射回您的源树,当您正在构建它时,您将装载您想要显示的任何信息。
也许这太过分了,但听起来是个有趣的项目。
发布于 2013-03-12 20:17:31
这个问题的公认答案推荐了这个链接,我觉得这很有趣:
http://msdn.microsoft.com/en-us/magazine/cc163781.aspx
简而言之,大多数IDE都是从代码生成解析树的,这就是它们存储和管理的内容。
https://stackoverflow.com/questions/15370888
复制相似问题