在编译理论中,通常将编译过程抽象为5个主要阶段:词法分析(Lexical Analysis),语法分析(Parsing),语义分析(Semantic Analysis),优化(Optimization),代码生成(Code Generation).这5个阶段类似Unix管道模型,上一个阶段的输出作为下一个阶段的输入.其中,词法分析是根据输入源代码文本流,分割出词,识别类别,产生词法元素(Token)流,如: 1 int a = 10; ​经过词法分析会得到[(Type, “int”), (Ide…
RT,学校课题需要233,没了 话说,窝直接做个链接的集合好了,方便以后查找 特征值提取之 -- TF-IDF值的简单介绍 汉语语义消歧之 -- 句子相似度 汉语语义消歧之 -- 词义消歧简介 c++读入之 -- 汉字读入遇到的问题 c++实现之 -- 汉语词语的简单处理 c++实现之 -- 文章TF-IDF值的计算…
模板与泛型编程 --模板编译模型 引言: 当编译器看到模板定义的时候,它不马上产生代码.仅仅有在用到模板时,假设调用了函数模板或定义了模板的对象的时候,编译器才产生特定类型的模板实例. 一般而言,当调用函数时[不是模板],编译器仅仅需看到函数的声明.相似的,定义类类型的对象时,类定义必须可用,但成员函数的定义不是必须存在的.因此,应该将类定义和函数声明放在头文件中,而普通函数和类成员函数的定义放在源文件中. 模板则不同:要进行实例化,编译器必须能够訪问定义模板的源码.当调用函数模板或类模板的成员…
词义消歧,句子.篇章语义理解基础,必须解决.语言都有大量多种含义词汇.词义消歧,可通过机器学习方法解决.词义消歧有监督机器学习分类算法,判断词义所属分类.词义消歧无监督机器学习聚类算法,把词义聚成多类,每一类一种含义. 有监督词义消歧方法.基于互信息词义消歧方法,两种语言对照,基于大量中英文对照语料库训练模型可词义消歧.来源信息论,一个随机变量中包含另一个随机变量信息量(英文信息中包含中文信息信息量),假设两个随机变量X.Y的概率分别是p(x), p(y),联合分布概率是p(x,y),互信息计算…
Vue 的模板编译是在 $mount 的过程中进行的,在 $mount 的时候执行了 compile 方法来将 template 里的内容转换成真正的 HTML 代码. complie 最终生成 render 函数字符串,等待调用.这个方法分为三步: parse 函数解析 template optimize 函数优化静态内容 generate 函数创建 render 函数字符串 parse解析 AST 的全称是 Abstract Syntax Tree,也就是所谓抽象语法树.每一个 AST 节点…
预编译与函数词法作用域(Precompiled & Scoped) 预编译 Javascript脚本的宿主在执行代码之前对脚本做了预编译处理,比如浏览器对Js进行了预编译,编译器会扫描所有的声明(变量.函数.对象,无论它们是否嵌套在其他函数中,都会被扫描),对声明进行编译,编译期间会忽略任何可执行的语句,直到编译结束后才会调用解释器对代码进行执行. 1.为声明的变量(变量式函数被视为变量)划分内存空间,标识符=Undefined(未初始化),执行时才会发生初始化. 2.为所有声明式函数划分内存空…
1.Render函数 所以直接来到Render,本来也想跳过,发现后面的路由貌似跟它还有点关联.先来看看Render 1.1 官网一开始就看的挺懵的,不知道讲的是啥,动手试了一下,一开头讲的是Render的用法,官网的栗子永远都是一个特点,tm的不贴完整,我这里是个相对完整版的:(为了看的清楚点,替换了下名字) <div id="div1"> <child :level="2">Hello world!</child> </…
<?php require './smarty/Smarty.class.php'; $sm = new Smarty; //$sm->force_compile = true; $sm->setTemplateDir("./dir");//设置模板路径 $sm->assign('k','JaKLfhs'); $sm->display('4.html');//输出//echo $sm->fetch('4.html');//输出 //Smarty的一个…
现在有各种框架,其中一个主要模块就是关于template.最火的vue.react等框架,在这一块上也是是下足了功夫.我也想写一个自己的模板编译工具,所以就做了个简单的实现,主要是使用es6的反引号编译. 1.选择 这里使用es6的反引号去编译文本节点,只要把数据放在scope中,我们就可以使用反引号加"${}"的方式去把变量替换掉模板中的内容. 2.编译内容 首先,我尝试去直接编译一个文本,让变量能够被填充,模板这么写 <div id="app"> &…
时隔一周多,因为一些别的事情绊住了,下面接着写.中间这段时间也有看官方文档,发现正如他所说90%的基础内容都一样,所以这里直接跳到我比较关注的东东上,要是想看看哪些不一样,可以参考这个http://vuefe.cn/guide/migration.html,表明了基础内容上发生了哪些变化. 直接来到进阶部分,过渡动画的过了一遍,大概讲述在dom发生变化时可以伴随的动画效果.不看了,后面用到再来看,更关注业务内容如何变化. Render函数 所以直接来到Render,本来也想跳过,发现后面的路由貌…