Calvin's Marbles


  • 首页

  • 关于

  • 归档

  • 标签

  • 搜索

C++ 资源管理

发表于 2016-08-05

对 Effective C++ 在资源管理部分的内容进行总结。这一部分其实已经比较基础了,等待重构。

阅读全文 »

flex和bison使用

发表于 2016-07-29

flex/bison是对lex/yacc的开源实现,可以方便地进行编译器构造。MSVC下的flex和bison有着win_flex和win_bison这两个封装,用起来比较方便。
本文就使用flex和bison进行编译器构造时出现的一些问题进行说明,并讨论一些进阶技巧,例如重定向输入流,处理大小写不敏感代码串,yymore,代码定位,错误信息及恢复,start condition,扩栈,push parser,glr-parser,%define指令,常见语法和错误处理方法以及flex/bison生成代码分析等。

阅读全文 »

语法分析实战

发表于 2016-07-22

1959年,Chomsky证明了文法和自动机的等价性,由此形式语言诞生了。目前,我们主要探讨4类文法,正则文法(确定有限自动机或非确定有限自动机)、上下文无关文法(下推自动机),上下文有关文法(线性有界自动机)、无限制文法(图灵机)。
有限自动机具有有限种状态。
上下文无关文法(CFG, Context Free Grammar)属于二类文法,其能力等价于下推自动机(PDA)。相对于三类文法即正则文法,上下文无关文法能够对非终结符做状态转移。
图灵机的状态也是有限的。图灵机的“内存”不是栈,而是纸带,由此可以看做是有两个栈的PDA。
自上而下和自下而上是两种常用的上下文无关文法分析方法。
自上而下的方法的难点在于选择哪个产生式进行推导,自下而上的分析方法难点在于在不同的格局下选择移进或归约的矛盾。

阅读全文 »

线段树和树状数组

发表于 2016-07-13

线段树和树状数组是一系列神奇的数据结构的起源,但其本身却十分简洁优雅,是我非常喜欢的两种数据结构。

阅读全文 »

PAT 解题报告

发表于 2016-07-06

浙江大学PAT(Programming Ability Test) A-level、top-level以及CCCC练习题的部分解题报告。
源码在 https://github.com/CalvinNeo/PAT

[YN\d]\t(\d\+\-)+\t([\w ]+)\(\d+\).*

阅读全文 »

JSCPC总结

发表于 2016-05-09

五月八日在南京大学参加了第一届江苏省程序设计大赛。这次破天荒拿了7A。

阅读全文 »

winsock/boost::asio笔记

发表于 2016-04-15

WinSock/boost::asio 编程遇到的一些问题

阅读全文 »

Python中的重要科学计算库numpy

发表于 2016-03-06

本文主要包括numpy用法上的一些套路和坑。

阅读全文 »

GCC和MSVC在pow函数实现和类型转换比较

发表于 2016-01-16

ACM中常常遇到卡精度的问题,卡精度可能因为取整、比较相等、高精度等多种原因。
这里通过一个例子试图探讨两个编译器的浮点数运算实现机制以及类型转换的机制,以及使用不同编译器和使用不同指令集在取整上的卡精度的问题。

阅读全文 »

brainfuck

发表于 2015-12-26

brainfuck是一个图灵完备的语言,仅有8个操作,晦涩难懂,但能够像图灵机一样完成任何计算。本文主要讨论一下brainfuck的一些编程技巧。

阅读全文 »
1…26272829
Calvin Neo

Calvin Neo

282 日志
154 标签
RSS
GitHub Twitter Weibo
Links
  • xqq
  • wenwen
  • zyyyyy
© 2015 - 2026 Calvin Neo   Hosted by Coding Pages
版权声明
由 Hexo 强力驱动
主题 - NexT.Muse