>>> YieldNull
  • /blog
  • /archives
  • /github
  • /about

Entries from 2015 all / by tag / 2016»

  • 用树莓派发送无线AP

    2015-10-26 23:29:08 / RaspberryPi /4491 hits

    作死買了個樹莓派(Raspberry Pi),宿舍不能用路由器,入手之後就想把它當路由器用。於是買了個USB無線網卡EDUP EP-N8508GS。下面是配置過程

    Read more...


  • Backup Neteasy Blog (备份网易博客)

    2015-10-26 20:37:57 / Python /5077 hits

    Backup your neteasy blog entries to a sqlite3 database.

    Only Created time,title and content are stored.

    Usage: neteasy.py <username>

    The <username> is your blog name which appears in your blog domain. Just like "junjie.blog.163.com", in which "junjie" is the <username>

    If everything is normal, the output will be like this:

    normal.png

    Read more...


  • Build A Website With Python-Flask and Nginx

    2015-10-24 16:30:56 / Python /6263 hits

    我們使用Nginx作爲前端反向代理服務器,一些靜態資源可以直接通過Nginx訪問。對於動態資源,Nginx將請求轉發到後端的Gunicorn服務器,Gunicorn負責調用後端的Python代碼,進行動態處理。

    上面,我們說道,nginx將動態請求轉發到本地的9000端口,Gunicorn正是監聽此端口。Nginx可以直接作爲服務進程啓動,但是Gunicorn還不行,因此我們使用Supervisor。Supervisor是一个管理进程的工具,可以随系统启动而启动服务,它还时刻监控服务进程,如果服务进程意外退出,Supervisor可以自动重启服务。同時,我們安裝gevent,它是一個把Python同步代码变成异步协程的库;

    Read more...


  • Shadow copy and Deep copy in Python

    2015-10-23 00:37:43 / Python /5359 hits

    Assignment statements in Python do not copy objects, they create bindings between a target and an object. For collections that are mutable or contain mutable items, a copy is sometimes needed so one can change one copy without changing the other.

    Read more...


  • CMM词法分析

    2015-10-11 22:06:46 / CMM Parser /6059 hits

    首先,需要根据CMM词法特性构造出其对应的DFA,然后再根据DFA构造其状态转换表,再根据状态转换表构建分析程序。DFA中,每个结束状态都表示成功识别一个词法单元。当成功识别一个词法单元之后,重新回到DFA中的开始状态,再次进行识别,直到EOF为止。

    理论上,需要维护一个状态转换表,其结构为一维数组。数组角标对应于DFA中的状态编号,其值为一个dict,dict中存储了状态转换键值对。其中,key对应于DFA中的转移字符,value对应于转换后的状态。终止状态对应于其识别到的TOKEN。

    然而,由于构建的DFA比较简单,lexer处理程序中并没有机械性地根据状态转换表进行识别,而是根据DFA直接采用传统的if-else结构进行词法分析。(其实是因为刚开始没有想到用状态转换表,写完了才意识到;而且转换表的状态太多了,还不如就用if-else判断方便)

    Read more...


  • JavaCC 学习笔记

    2015-10-10 16:24:13 / CMM Parser /9429 hits

    顾名思义,JavaCC是一个词法分析器和语法分析器的生成工具。其主要功能是通过用户给定的文法规则,生成一个纯Java语言编写的语法分析器。用户输入一段测试字符串,该分析器就能判断该字符串是否满足该文法的规则。检测合法性的同时,也可以生成该字符串的语法分析树。另外,该工具还能根据用户定义的模板文件生成对应的描述该语言的文档。

    通常所说的javacc指的是javacc.jar这个jar包,jar包中包含三个主要可执行类

    • javacc 根据模板文件生成语法分析器
    • jjtree 根据模板文件生成语法生成树
    • jjdoc 根据模板文件生成对应语言的文档

    Read more...


  • « Previous 1 / 4
  • Next 3 / 4 »

About this site © YieldNull,