闪烁词法分析器帮助。试图保存特定的线路信息以备后用

Posted

技术标签:

【中文标题】闪烁词法分析器帮助。试图保存特定的线路信息以备后用【英文标题】:Scintilla lexer help. Trying to save specific line information for later use 【发布时间】:2012-12-15 22:23:23 【问题描述】:

我正在使用 scintilla 的词法分析功能,我想做一些开箱即用的事情。

请注意,尽管我有一些其他语言的经验,但我是 C++ 初学者。

我正在寻找有关如何保存有关行的特定信息以供以后使用的指针。 想到的第一个想法是创建一个数组并为我们的行号填充相应的数组字段,例如:

int lineOpt[];

...

lineOpt[20] = 20;
lineOpt[21] = 20;
lineOpt[372]= 75;

...

但这里似乎有些不对劲。我不确定这是否是正确的方法,不仅因为我刚刚创建的“无限”大小的数组,还因为将出现的“间隙”。

只有少数特定行会设置这些选项(取决于其中存在的一些文本),我再次觉得这可以通过另一种方式完成。

任何帮助或对某些文章的指点将不胜感激。

【问题讨论】:

【参考方案1】:

听起来您需要一个关联容器结构,而不是数组。数组在编译时总是固定长度;您不能在运行时更改它们的大小。您的声明int lineOpt[] 不合法。

考虑std::map<unsigned int, unsigned int>std::unordered_map<unsigned int, unsigned int>

【讨论】:

以上是关于闪烁词法分析器帮助。试图保存特定的线路信息以备后用的主要内容,如果未能解决你的问题,请参考以下文章

UIWebview 获取选定文本的范围并保存以备后用

地铁线路问题分析

自定义 C++ 闪烁词法分析器

应用程序功能要求保存信用卡详细信息以备将来使用。需要调查是不是存在任何特定的安全设计

我如何存储“这个”元素以备后用

如何存储密码以备后用?