ANTLR v4是一款强大的语法分析器生成器,可以用来读取、处理、执行和转换结构化文本或二进制文件。通过称为文法的形式化语言描述,ANTLR可以为该语言自动生成词法分析器。生成的语法分析器可以自动构建语法分析树,它是表示文法如何匹配输入的数据结构。ANTLR还可以自动生成树遍历器,用来访问树节点以执行特定的代码。 ANTLR v4的语法分析器使用一种新的称为Adaptive LL(*)或ALL(*
简介 Org-mode 主要包含标签、待办、日程表几大部分 规模效应. 如果资料只有几十几百条,借助分类的方式可以有效管理,但是资料的条目超过了一定的数量,标签更管用。好比传统的邮箱,使用分类的方式管理邮件;而 Gmail 由于起点容量很大,所以提供了标签 组织. 提供了标签进行宏观控制,别外还有日程表作为快速通道 构思与发布. Org-mode 不但可以整理思路,而且拥有比较完善的发布功能 配置
惜Fedora、SuSE,有点臃肿 gentoo、LFS,略显麻烦 一代天骄,Ubuntu 只知免费送光盘 深孚众望的 Ubuntu 变得越来越臃肿,越来越“Windows”;Gentoo 虽然能够灵活定制,不过所有的软件都使用源代码编译安装,却也有些过犹不及 Archlinux,既能够像 Ubuntu那样使用二进制包(pacman)便捷的安装,又能够像 Gentoo 那样灵活定制(ABS),是一
对于文本内容的处理,通常使用交互方式,手工调整;但如果你对源文本比较了解,则可以采用自动化的批量处理方式,这种方式效率高、迅速快 批量处理,要求根据一定规则,匹配源文本中的字符,转换为目标文本,这就要用到正则表达式 最简单的例子,使用regular进行匹配,结果如下: regular expression 正则表达式有许多变种:glob 表达式、基本正则表达式、perl 正则表达式、emacs
内核是系统的引擎,它是一个系统运行起来的先决条件。 内核管理硬件,是程序和硬件之间的接口 内核对进程进行调度,将硬件资源分配给不同任务,使系统可以同时运行多个任务 内核对内存进行管理,将内存空间分配给任务,将使用不频繁的页面转移到交换分区 内核还管理文件系统,进程间通信和网络 内核包含几个重要的子系统: 进程调度(SCHED) 控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值
Xwindow 是工作站图形系统的工业标准,它有多种不同的实现,多数 Linux 系统中使用 Xorg。 当然,Xwindow 有悠久的历史和传统,不过那不在我们讨论的范围。您要注意的有两点: Xwindow 和 Xbox 中的“X”意义是不同的, X 只是 W 之后的一个字母,差不多应该这样理解,Xwindow 是 Window 的接班人 (注意,Window 不是 Windows) 同样,也不
exVim 是一个力求将 Vim 改良成集成编辑环境(IDE)的项目,exVim 在 Vim 中加入项目工程文件(.exvim)的概念, 通过使用 Vim 编辑项目工程文件 (.exvim) 触发 exVim 的插件, 从而让你能够在不同的工程中使用不同的 Vim 配置,插件配置, 甚至按需加载不同的插件. 总的来说, exVim 就是为了使 Vim 成为世界上最好用的 IDE。 更酷的是---我
Joel On Software Joel谈软件 / 软件沉思录; 我想, 只有真正经历软件规模并在那些痛苦中挣扎过的人才能体会到这些软件方法论的精妙之处吧。 如果是刚开始学习编程的我,大抵会对这种文邹邹的东西嗤之以鼻:“软件需要什么方法论?” “这些东西肯定又是文科生弄出来的吧”。 不过零零散散的参与了一些软件项目之后, 也开始反思项目苦楚的源泉究竟源自何方。 所有谈软件工程的人或多或少对这些
docsify 一个神奇的文档网站生成器。 概述 docsify 可以快速帮你生成文档网站。不同于 GitBook、Hexo 的地方是它不会生成静态的 .html 文件,所有转换工作都是在运行时。如果你想要开始使用它,只需要创建一个 index.html 就可以开始编写文档并直接部署在 GitHub Pages。 查看快速开始了解详情。 特性 无需构建,写完文档直接发布 容易使用并且轻量 (压缩后
如果你是一个像我一样有经验的C++程序猿,当初次体验C++11时,“啊,就是他,我明白了,这就是C++”。但是自从你学习了更多的内容,你会惊讶于他的变化。auto类型声明,基于区间的for循环,lambda表达式和右值引用改变了C++的样貌,还有新的并发API。除此之外,还包括一些合服语言习惯的改动。0和typedef都已经过时,nullptr和别名声明(alias declarations)强势
Effective Modern C++ 主要讲述了 C++11/14 新特性的用法,阐述从两方面展开,一是原理解析,二是注意事项。如 auto 的原理使用的是模板推断机制,进而介绍模板的推断机制,再由此引出 auto 在使用上应该注意的问题。 不同读者在这本书中可以各取所需,如果希望了解 C++11/14 的方方面面,则可以抽丝剥茧地深究原理,如果希望短时间内快速上手 C++11/14 工程实践
使用者说: “为这个伟大的工具而干杯,因为她让所有的程序员们愿意 编写文档!” Sphinx是一个工具,她能够轻易地创建智慧和优雅的文档,她是出自Georg Brandl之手,在BSD许可证下授权。 她最初是为了新版的python文档, 因此在python项目的文档具有完美的特性,但是同样支持c/c++,目前正在计划增加对其他的语言的支持。 理所当然,本页面也是使用Sphinx创造自reStruc
Graph::Easy 是一个处理图形DSL的Perl模块,它有如下功能: 提供了一种易懂,可读性很强的图形描述语言 一种支持 ASCII Art 的基于网格的布局器 可以导出为Graphviz, VCG(Visualizing Compiler Graphs), GDL(Graph Description LAnguages) 和 GraphML格式。 可以从Graphviz, VCG 和 GD
先来活动一下大脑。假设你坐在电脑面前,在两个窗口中打开同一个文件夹。 在其中一个窗口中删除一个文件,另一个窗口中的这个文件会消失吗? 不用实际操作你也知道肯定会消失的。在本地文件系统中的操作,不用刷新或者回调,变动就能应用到所有地方。 我们再来看一下相同的事情在网页中会有什么结果。例如,你在两个浏览器窗口中打开同一个 WordPress 后台页面,在其中一个窗口中新建了一篇文章。和桌面系统不同的是
简介 openwrt 是一套开源的嵌入式 linux 系统,起源于 linksys 路由器项目,最初用来构建 WRT54G 无线路由器的固件,后发展出现在的 openwrt。 一个嵌入式 linux 系统包含了 bootloader,linux kernel,设备驱动,文件系统,各种工具,运行库,脚本,服务,配置以及 app 等等内容,以及构建它们的工具链和交叉编译环境,如果逐一去移植,编译,安装