摘要:
最近一直在学习Scala语言,偶然发现其Parser模块功能强大,乃为BNF而设计。啥是BNF,读大学的时候在课本上见过,那时候只觉得这个东西太深奥。没想到所有的计算机语言都是基于BNF而定义的一套规范。词法,语法,词法,语法。。。下面看看解析C++类声明的一个简单例子吧。 class CPlusP 阅读全文
摘要:
平台公式及翻译后的SparkSQL 平台公式的样子如下所示: 这里面字段值"邢おb7肮α䵵薇"为这个的目的是为了测试各种字符集是否都能匹配满足。那么对应的SparkSQL应该是这个样子的,由于是使用的Hive on Spark,因而长得跟Oracle的SQL语句差不多: 总体而言比较简单,因为我只是 阅读全文
摘要:
BNF 巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集。现在,几乎每一位新编程语言书籍的作者都使用巴科斯范式来定义编程语言的语法规则。 在BNF中,双引号中的字("word")代表着这些 阅读全文
摘要:
我们知道,scala编译器会将scala代码编译成JVM字节码,编译过程中会擦除scala特有的一些类型信息,在scala-2.10以前,只能在scala中利用java的反射机制,但是通过java反射机制得到的是只是擦除后的类型信息,并不包括scala的一些特定类型信息。从scala-2.10起,s 阅读全文