词法分析器和分析器之间的通信

每次我写一个简单的词法分析器,我都会碰到同样的问题:词法分析器和parsing器应该如何交stream? 我看到了四种不同的方法: 词法分析器急切地将整个inputstring转换为一个标记向量。 一旦完成,vector被送到parsing器,parsing器将其转换成树。 这是迄今为止最简单的解决scheme,但是由于所有的令牌都存储在内存中,所以浪费了大量的空间。 词法分析器每次find一个标记时,都会在parsing器上调用一个函数,传递当前的标记。 根据我的经验,这只有在parsing器可以像LALRparsing器那样自然地被实现为状态机时才有效。 相比之下,我认为它不会用于recursion下降parsing器。 每一次parsing器都需要一个标记,它会要求词法分析器进行下一个标记。 由于yield关键字,这在C#中很容易实现,但在C ++中很难实现。 词法分析器和parsing器通过asynchronous队列进行通信。 这在“生产者/消费者”的标题下是众所周知的,它应该简化词法分析器和parsing器之间的通信。 它是否也超越了其他多核解决scheme? 还是太轻松了? 我的分析是否正确? 有没有其他的方法我没有想到? 在实际编译器中使用什么? 如果像Eric Lippert这样的编译器作者能够解释这个问题,这将是非常酷的。

如何做websockets负载testing

我们正在构build一个使用websockets的群聊function。 我们要testing我们目前的基础设施可以支持多less个连接。 基本上归结为如何模拟websocket。

testingd3(以及其他基于SVG的)Web应用程序

我有一个Web应用程序,使用d3库来处理一些复杂的基于SVG的可视化。 我有自动testing我的服务器端代码和JavaScript模型(我在我的JavaScript中使用MVC架构)。 这些在每次提交时都在Jenkins CI服务器上运行。 现在我需要弄清楚如何testing我的观点。 别人怎样解决这个问题,你用什么工具? 我有一些想法… 将生成的SVG序列化到文件并与基线进行比较 自动捕捉浏览器图像,并做一个图像差异 别的东西? 谢谢!

Java:通用方法重载模糊

考虑下面的代码: public class Converter { public <K> MyContainer<K> pack(K key, String[] values) { return new MyContainer<>(key); } public MyContainer<IntWrapper> pack(int key, String[] values) { return new MyContainer<>(new IntWrapper(key)); } public static final class MyContainer<T> { public MyContainer(T object) { } } public static final class IntWrapper { public IntWrapper(int i) { } } public static […]

为什么在popViewController之后ARC没有释放内存

我在UINavigationController中推送和popupViewControllers。 我正在跟踪我的应用程序的内存消耗。 虽然推新viewController内存消耗逐渐增加,但是当我popup相同的ViewController使用[self.navigationController popViewControllerAnimated:NO]; 内存消耗不减less,但不变。 该特定的viewController可以被用户多次推送和popup,这可能导致应用程序在RAM中的高内存消耗。 我应该怎么做来优化我的内存消耗?

Data.Proxy的目的是什么?

从Data.Proxy Proxy似乎只不过是一个单纯的 data Proxy s 我什么时候需要这样一种无人居住的types,或者说是什么使我无法做到的,什么时候与其他方法相比简化了事情,它是如何在实践中使用的?

在VBA中尝试创build无模式对话框时使用CreateDialog

我想在VBA 7.0中创build一个无模式的popup对话框。 到目前为止,最有希望的路线似乎是CreateDialog 。 首先,我尝试CreateDialogW并收到Entry point not found for CreateDialogW in DLL 。 打开DLL后,我validation了这个function没有列出。 上面链接的MSDN引用显示User32作为此函数的DLL,并列出函数名称CreateDialogW和CreateDialogA (分别为Unicode / ansi),但它们不在我的计算机(Win 7专业版,64位)上的此DLL中列出。 因此,查看DLL中的函数列表,我看到了CreateDialogParam和CreateDialogIndirectParam函数 (每个函数的 Ansi和Unicode版本)。 我一直在试图遵循MSDN,并将C例子转换为VB,但是我错过了一些地方,我有点卡住,因为我不知道我做错了什么。 代码编译和运行没有错误,但没有发生在API调用 – 它执行但没有任何反应。 如果有人能给我一些正确的方向,我将不胜感激。 我目前的解决办法很糟糕,我真的想把这个项目button。 Option Explicit 'Reference conversion of C to VB type declarations here 'http://msdn.microsoft.com/en-us/library/aa261773(v=vs.60).aspx 'Declare function to Win API CreateDialog function 'http://msdn.microsoft.com/en-us/library/ms645434(v=vs.85).aspx Private Declare PtrSafe Function CreateDialog Lib "User32.dll" […]

为什么没有int128_t?

许多编译器都提供了128位的整数types,但是我用过的都没有提供int128_t 。 为什么? 据我记得,标准 储备int128_t为此目的 鼓励提供这种types的实现提供typedef 规定这种实现提供至less128位的intmax_t (而且,我不相信我已经使用了一个实际符合最后一点的实现)

为什么我们需要容器?

(借口:标题模仿我们为什么需要单子的标题? ) 有容器 (和索引的)(和异教的)和描述 。 但是容器是有问题的 ,对于我的小规模的经验来说,容器的思考比描述的要难。 非索引容器的types与Σ同构 – 这是非常不确定的。 形状和位置的描述有助于,但在英寸 ⟦_⟧ᶜ : ∀ {α β γ} -> Container α β -> Set γ -> Set (α ⊔ β ⊔ γ) ⟦ Sh ◃ Pos ⟧ᶜ A = ∃ λ sh -> Pos sh -> A Kᶜ : ∀ {α β} -> Set α -> […]

考虑一个Erlang Web框架来学习和使用在生产中

我前几天开始学习Erlang,这绝对是一个非常有趣的语言,非常适合web开发(至less后端)。 我将尝试并最终解决一个Erlang的web框架用于我的下一个项目。 由于Erlang是“ 新 ”,很难决定使用哪个框架(即缺乏文档和博客文章)。 到目前为止,我的googleing已经返回了我的3个结果,我想知道任何有Erlang经验的人(特别是Erlang网站开发),请评论每个框架的优缺点,并添加任何缺less的框架。 项目要求: Web应用程序 数据库 HTTPs的 存储文件(例如图像) PDF操作 dynamic逻辑比较(例如LHS == RHS等) Erlang的web框架: 氮 (迄今为止首选) Erlyweb 哔哔 芝加哥老板 Erlang Web webmachine Erlang数据库: Mnesia (首选到目前为止) CouchDB的 MongoDB的 Concrns: 氮 JavaScript的一代 由于氮生成并embedded到增加页面大小的页面上的JavaScript代码。 我不知道是否甚至有可能以某种方式从原始的HTML中“生成”JavaScript代码(以某种方式它可以被浏览器caching),以便减less传输到networking上的数据。 但我认为在一般事件模型和汽车线事件非常适合应用程序types,而不是太多的内容/公众面向types。 谢谢!