06-14
06-14
06-14
可识别的多指和铉
05-06
Chrome源码剖析
开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。它使得每个人,无论你来自米国纽约还是中国铁岭,都有机会站在巨人的肩膀上,如果不能,至少也可以抱一把大腿。。。 继续阅读
Read More >04-28
Bison-Flex 笔记
什么是FLEX?它是一个自动化工具,可以按照定义好的规则自动生成一个C函数yylex(),也成为扫描器(Scanner)。这个C函数把文本串作为输入,按照定义好的规则分析文本串中的字符,找到符合规则的一些字符序列后,就执行在规则中定义好的动作(Action)。例如在规则中可以这样定义:如果遇到一个换行字符\n,那么就把行计数器的值加一。 继续阅读
Read More >04-28
使用 Flex 和 Bison 更好地进行错误处理
尽管使用 Flex 和 Bison 生成程序非常简单,但是要让这些程序产生用户友好的语法和语义错误消息却很困难。本文将介绍 Flex 和 Bison 的错误处理特性,并展示如何使用它们,然后详细介绍它们的一些缺陷。 继续阅读
Read More >04-28
使用Flex Bison 和LLVM编写自己的编译器
使用Flex Bison 和 LLVM编写你自己的编译器
原文出处:http://gnuu.org/2009/09/18/writing-your-own-toy-compiler 继续阅读
04-28
SED单行脚本快速参考(Unix 流编辑器)
04-28
Yacc 与 Lex 快速入门
Lex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 这些词汇模式(或者常规表达式)在一种特殊的句子结构中定义,这个我们一会儿就要讨论。
一种匹配的常规表达式可能会包含相关的动作。这一动作可能还包括返回一个标记。 当 Lex 接收到文件或文本形式的输入时,它试图将文本与常规表达式进行匹配。 它一次读入一个输入字符,直到找到一个匹配的模式。 如果能够找到一个匹配的模式,Lex 就执行相关的动作(可能包括返回一个标记)。 另一方面,如果没有可以匹配的常规表达式,将会停止进一步的处理,Lex 将显示一个错误消息。
Lex 和 C 是强耦合的。一个 .lex 文件(Lex 文件具有 .lex 的扩展名)通过 lex 公用程序来传递,并生成 C 的输出文件。这些文件被编译为词法分析器的可执行版本。 继续阅读
01-20
运行时: 使进程和线程同步
在 Ed 以前的文章中谈到了管道,一种 Windows 和 Linux 上进程间通信的形式。本文中,他探讨了进程间同步原语(作为控制两个进程访问同一资源的方法)。象往常一样,Ed 的目的是推荐几种方法来优化编程实践,并且演示了那些编程实践的性能。单击本文顶部或底部的讨论进入论坛,与作者以及其他读者分享您对本文的看法。 继续阅读
Read More >01-20
Linux 进程管理剖析
Linux® 的用户空间进程的创建和管理所涉及的原理与 UNIX® 有很多共同点,但也有一些特定于 Linux 的独特之处。在本文中,了解 Linux 进程的生命周期,探索用户进程创建、内存管理、调度和销毁的内核内幕。 继续阅读
Read More >