将文本文件加载到内存并分析其内容
问题描述:
为了教育目的,我想构建一个用于PHP编码的IDE。将文本文件加载到内存并分析其内容
我做了一个表格应用程序,并添加OpenFileDialog
..(我的C#的知识是有益的,因为它很容易...即使没有智能感知!)
装入一个文件,并从中读取线基本上是相同的在每种语言(甚至PERL)中。
但我的目标是写自制的智力。我不需要关于richtextBox和它生成的事件,endline,EOF等的信息。
我遇到的问题是,我该如何处理数据?线为线?
- 每行文本文件的结构?
- 循环链表中的所有结构? ...
- 同时更新richtextBox?
- 寻找开启和关闭括号,变量等,等
我认为一个SQL类型的应用项目文件夹数据库的微软商店。 但是,你将如何跟踪变量并以某种形式模拟它们?
我想知道如何在动态文本上有效地处理这个问题。
答
从来没有想过这件事通过之前,这听起来像一个有趣的挑战。个人而言,我认为你必须实现一个词法扫描器,将整个源文件标记为源码树,每个标记也有关于它的信息,将标记映射到源文件内部的行/字符。
从那里你可以看到你想要走多远 - 当某人悬停在一个令牌上时,它可以使用它周围的代码上下文来更智能地处理你提供的“intellisense”。
将鼠标悬停在某个东西上会映射回您的源代码树,该代码会在您构建它时加载任何要显示的信息。
也许这是过度的,但它听起来像一个有趣的项目。
答
这个问题的答案接受建议这个环节,我发现很有意思:
http://msdn.microsoft.com/en-us/magazine/cc163781.aspx
概括地说,大多数IDE生成代码中的解析树,这是他们存储和管理的内容。
您在YouTube上观看了一些关于“词法扫描仪”的视频之后,会关注我需要做的事情。 – NaturalDemon 2013-03-13 11:10:29