解释抽象语法树
创建了抽象语法树之后,有两个选择:解释或编译。解释,简单地说,就是遍历树,同时执行操作;编译,就是改变成其他形式,对于机器执行来说可能更简单,通常可能更快。这一小节先讨论如何解释结果,下面一小节再讨论编译的内容,最后,再讨论何时应该用解释,何时应该用编译的问题。
下面的例子是一个很小解释器,解释抽象语法树的主要工作由函数interpret 完成,它遍历树,并同时执行需要的...
分类:
其他好文 时间:
2014-06-20 09:58:50
阅读次数:
240
Functions and Closures 函数和封闭性(闭包)
Functions 函数的使用
Swift中的函数定义和OC中有明显的区别了,使用func定义函数,在括号中定义参数和类型,用 -> 定义返回值类型
func greet(name: String, day: String) -> String {
return "Hello \(name), tod...
分类:
其他好文 时间:
2014-06-20 09:41:20
阅读次数:
268
WWDC
2014,给了我们很多惊喜,对于开发者,Swift无疑给了我们太大的惊讶,前些天看见一篇文章道:今天在微博上不转发Swift相关的东西都不好意思说自己是程序员了,我自己的拙见,再加上苹果的敢于破旧立新,这门语言很快就会取代OC的位置,毕竟OC语法太别扭了,我是做windows路线以及J2E...
分类:
其他好文 时间:
2014-06-13 14:20:22
阅读次数:
236
苹果其实在语言层面为我们做了很多事,比如Category实现装饰模式的意图,target-action实现命令模式意图等等,对于观察者模式,苹果也提供了KVO和通知中心,给开发者提供了极大的遍历。观察着模式即一个对象发出广播,然后某些对象可以在得知这个广播之后做相应的反应。KVO用来监控某个变量,是...
分类:
其他好文 时间:
2014-06-13 13:58:53
阅读次数:
660
Apple
新推的Swift已经好几天了。对于向我这样的oc都还没完全琢磨透彻的菜鸟来说……(简直就是福利啊,joke)看了几天的Swift,只是有了基本的印象。总感觉比较换混乱,可能源自与自己没怎么学过脚本语言。索性,边看边记,加深印象。本来部分内容源自Apple的《The
Swift Progr...
分类:
其他好文 时间:
2014-06-13 13:32:10
阅读次数:
438
转:http://blog.csdn.net/chaoyuan899/article/details/24399761#import
@implementation NSObject (PropertyListing) /* 获取对象的所有属性 */- (NSDictionary
*)pr...
分类:
移动开发 时间:
2014-06-11 21:48:49
阅读次数:
340
根据先序遍历和中序遍历的特点,我们想到了采用递归的方法来实现。思路:1)
代码的容错性检查,比如:先序遍历和中序遍历长度应相等 2)
先保存先序遍历的第一个点,这个点为结点,接下来循环中序遍历,直到midOrd[index]=该结点,那么接下来就可以采用递归,分别对结点左边和右边的序列采用相同的方法...
分类:
其他好文 时间:
2014-06-11 21:48:07
阅读次数:
358
在WinForm或者Console程序中,可以通过可以遍历所有现在正在执行的进程,如果有同名的进程存在,那么说明这个程序已经启动了一个了,此处就不再启动了。如果没有同名进程的存在,说明这个程序还没有启动过,此时我们可以启动一个。
public static void Main()
{
string strModuleName = System.Diagnostics.Proce...
分类:
其他好文 时间:
2014-06-07 13:35:08
阅读次数:
269
红黑树的java实现,除了必备的左右旋、插入、删除,另外还增加了求前趋后继,中序遍历,最大值最小值等方法...
分类:
其他好文 时间:
2014-06-07 13:09:28
阅读次数:
215
二叉树的递归遍历和非递归遍历(附详细例子)
二叉树的遍历主要有递归实现和非递归实现,递归实现比较好理解,非递归实现主要是利用了栈的思想,后进先出,本文实现二叉树的非递归遍历主要是用了LinkedList可以当做栈使用的功能。具体例子如下:
package com.sheepmu;
import java.util.LinkedList;
public class Bin...
分类:
其他好文 时间:
2014-06-07 13:06:05
阅读次数:
269