C预处理器是一种简单的宏处理器。 预处理器是由特殊的预处理器命令行控制的,它们是以#符号开头的源文件行。 预处理器的一般操作:从源文件中删除所有的预处理器命令行,并在源文件中执行这些预处理器命令所指定的转换操作 预处理器代码行的语法与C语言其他部分的语法是完全独立的,但经过预处理所产生的源代码必须在 ...
分类:
其他好文 时间:
2017-03-17 23:54:09
阅读次数:
304
被隐藏了的过程 现如今在流行的集成开发环境下我们很少需要关注编译和链接的过程,而隐藏在程序运行期间的过程可不简单,即使使用命令行来编译一个源代码文件,简单的一句"gcc hello.c"命令就包含了非常复杂的过程。 在Linux系统下使用gcc编译程序时只须简单的命令: $gcc hello.c $ ...
分类:
其他好文 时间:
2017-03-16 21:28:50
阅读次数:
175
一、SQLAdvisor简介 SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议。目前SQLAdvisor在美团点评广泛应用,包 ...
分类:
数据库 时间:
2017-03-13 13:01:39
阅读次数:
532
上周写了《ThinkPhp模板转Flask、Django模板》 一时技痒,自然而然地想搞个大家伙,把整个PHP程序转成Python。不比模板,可以用正则匹配偷懒,这次非写一个Php编译器不可。 上网搜了一下,发现大部分Python to xxx的transpile都是直接基于AST,省略了最重要的T ...
分类:
编程语言 时间:
2017-03-12 11:04:18
阅读次数:
147
1.Linq基础 《1》 关键词: from,in,group,by,where..... MSDN上总结的有14个关键词法。。。 from xxxx in xxxx select => 三个不可缺少的条件。。。 【最基础的框架】 第一:这是语法糖。。。 第二:能够往sql上靠近。。。 (为了更好的 ...
分类:
其他好文 时间:
2017-03-10 00:36:33
阅读次数:
205
字符串特性,一旦修改,重新创建(重新开辟内存空间)缓冲池>>>Id(name1),id(name2)python语句执行顺序:加载内存—>词法分析—>语法分析—>编译—>字节码—>执行—>机器语言
分类:
其他好文 时间:
2017-03-09 01:39:36
阅读次数:
134
一、前言 近期在做Oracle迁移到Spark平台的项目上遇到了一些平台公式翻译为SparkSQL(on Hive)的需求,而Spark采用亲妈语言Scala进行开发。分析过大概需求过后,拟使用编译原理中的EBNF范式模式,进行基于词法的文法解析。于是拟采用传统的正则词法解析到EBNF文法解析的套路... ...
分类:
其他好文 时间:
2017-03-07 23:08:55
阅读次数:
304
1 0/0 // NaN 是个没有意义的 表达式 2 -0 === 0 // true 3 1/-0 === 1/0 // false 4 5 1+null // 1 6 7 1+[] //1 8 1+[9] ... ...
分类:
编程语言 时间:
2017-03-05 13:19:12
阅读次数:
147
使用广泛,所有的浏览器(桌面、手机、屏蔽等等)都配有相应的JavaScript解析器。 三技能:JavaScript、HTML、CSS。 JavaScript早已超出了其“脚本语言”本身的范畴,而成为一种集健壮性/高效性和通用性为一身的编程语言。 编程语言的词法结构是一套基础性规则,用来描述如何使用 ...
分类:
编程语言 时间:
2017-02-28 00:25:45
阅读次数:
186
闭包定义 当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。 看一段最简单的闭包代码: bar()函数可以访问foo()的作用域,通过foo()执行后,返回bar()并当成一个值传递给baz。当baz执行时,bar()依然持有对该作用域的引用,而这个引用就叫做 ...
分类:
Web程序 时间:
2017-02-26 22:11:35
阅读次数:
243