摘要:
原文: https://wangxin93.github.io/linux/2018/09/21/graphviz-tutor.html 前言 Graphviz是一个“所见即所想”的绘制有向图,无向图的工具。它使用了布局算法对节点位置进行自动排版,可以导出为jpg,svg,pdf等不同格式,使用do 阅读全文
摘要:
作者: 林 渤, 王枭雄, 胡建鹏:上海工程技术大学电子电气工程学院,上海 关键词: 抽象语法树;GCC;C语言;可视化;AST; GCC; C Language; Visualization 摘要: 抽象语法树(abstract syntax tree, AST)作为一种重要的中间表示形式,在代码 阅读全文
摘要:
前言 在阅读java ORM框架spring data jpa的源码时,发现Hibernate(spring data jpa依赖Hibernate核心代码)在底层使用了AST抽象语法树,将hql转换为sql,这激发了我研究AST的兴趣。 AST概述 AST(Abstract Syntax Tree 阅读全文
摘要:
编程语言有个规定: 变量名的首字母不能是数字。 理解: 在写编译器时,才明白原来是词法分析器为了提高效率才这样约定的。 原因: 词法分析器在判断一个单词是否以数字开头,如果是以数字开头则把他当作数字常量处理,否则当作普通单词处理。这样子可以提高词法分析器的效率。 为什么变量名不能使用数字开头,原来是 阅读全文
摘要:
一个完整程序的语法树 表达式 5 + ( 1 * 12) 复杂表达式 a := b * (-c) + b * (-c) 二分支 语法树 if C then s1 else s2 语法分析 抽象语法树的编程语言定义 特征: 可以有多个叶子节点 阅读全文
摘要:
Lisp 语言展示抽象语法树 (def x (if (> a 1) a 1)) 二分支语句 语法树 表达式 语法树 阅读全文
摘要:
以太坊中的重要概念 账户 Account 包含地址,余额和随机数,以及可选的存储和代码对象。 普通账户 EOA 包含地址,余额和随机数 合约账户 Contract 包含地址,余额和随机数,存储和代码对象。 交易(Transaction) 可以发送以太币和信息 向合约发送的交易可以调用合约代码,并以信 阅读全文
摘要:
1.1 构造函数初始化 std::shared_ptr<int> pointer(new int(1)); std::shared_ptr<int> pointer1 = pointer; std::shared_ptr<std::string> ss(new std::string("AAA")) 阅读全文
摘要:
std::shared_ptr大概总结有以下几点: (1) 智能指针主要的用途就是方便资源的管理,自动释放没有指针引用的资源。 (2) 使用引用计数来标识是否有多余指针指向该资源。(注意,shart_ptr本身指针会占1个引用) (3) 在赋值操作中, 原来资源的引用计数会减一,新指向的资源引用计数 阅读全文
摘要:
举例: b2 runtime-link=static link=static threading=multi(生成静态库,该静态库静态链接C运行库) 生成的文件: libboost_thread-vc142-mt-sgd-x64-1_74.lib libboost_thread-vc142-mt-s 阅读全文