Atitit. 构造ast 语法树的总结attilax oao

1. 能那更加有意义的名字来命名ast节点。。。 1

2. 如何命名表达式名称。。使用实际对象名称,而不是操作符号表达式更好 1

2.1. 参考在的ast view 一类的实现... 1

3. ast view (自是个160k的jar )
2

3.1. 多条语句ast结构 2

3.2. 变量定义 int b,c; 的ast结构 2

3.3. 方法调用meth1(a=1,b=2,c=3);  的ast结构
2

3.4. 注解的ast 3

4. 误解的问题 3

4.1. 语法书子能是个二叉树,实际上多叉树越好.. 3

4.2. 非要不个ast放到个stack黑头了..实际上不要stack牙行了...
3

4.3. Ast非要解释成个map一类的数据结构了,实际上直接ast走是个tree,能直接输出使用了...
3

4.4. Ast不一定要操作符表达式了,,,对象化名称牙越好... 3

4.5. =等号不一定是个赋值运算符, 定义变量的时候儿走马意义..实际能失去的了..
3

1. 能那更加有意义的名字来命名ast节点。。。

以前是单词流必须识别为保留字,标识符(变量),常量,操作符(运算符 )和界符五大类

实际上,参考ast view (自是个160k的jar )。。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 如何命名表达式名称。。使用实际对象名称,而不是操作符号表达式更好

2.1. 参考在的ast view 一类的实现...

3. ast view (自是个160k的jar )

3.1. 多条语句ast结构

3.2. 变量定义 int b,c; 的ast结构

VariableDeclarationStatement [123+8]

》》TYPE      (int)

>>  FRAGMENTS (2)     (b,c)

Int   a=1;

VariableDeclarationStatement [115+8]     (Int   a=1;)

VariableDeclarationFragment [119+3]    (a=1)

NAME   ::变量名

INITIALIZER   变量值

问题?? =(等号)好像马兰。。。

3.3. 方法调用meth1(a=1,b=2,c=3);  的ast结构

MethodInvocation [136+18]

》》NAME      方法名

》》ARGUMENTS (3)  参数列表

Assignment [142+3]       ( a=1 表达式 )

》》LEFT_HAND_SIDE   参数面称

》》OPERATOR: '='

>>RIGHT_HAND_SIDE   参数值

3.4. 注解的ast

@anno1(key1="v1")

private static void meth2(int k) {

MethodDeclaration [196+100] 方法定义

》》MODIFIERS (3) / NormalAnnotation [196+17]  注解

。。//TYPE_NAME  注解名称

。。//VALUES (1)  注解值  key1="v1"

。。//VALUES/MemberValuePair [203+9]  注解值  key1="v1"

..///VALUES/MemberValuePair /NAME  注解值名称  key1

/VALUES/MemberValuePair //  VALUE   注解值的值  v1

????  等号好像马兰。。

4. 误解的问题

4.1. 语法书子能是个二叉树,实际上多叉树越好..

4.2. 非要不个ast放到个stack黑头了..实际上不要stack牙行了...

4.3. Ast非要解释成个map一类的数据结构了,实际上直接ast走是个tree,能直接输出使用了...

4.4. Ast不一定要操作符表达式了,,,对象化名称牙越好...

4.5. =等号不一定是个赋值运算符, 定义变量的时候儿走马意义..实际能失去的了..

Atitit. 构造ast 语法树的总结attilax oao的更多相关文章

  1. Atitit. 构造ast 语法树的总结attilax oao 1. Ast结构树形12. ast view (自是个160k的jar )22.1. 多条语句ast结构22.2. 变量定义 int b,c; 的ast结构22.3. 方法调用meth1(a=1,b=2,c=3);  的ast结构23. 误解的问题33.1. 语法书子能是个二叉树,实际上多叉树越好..33.2. 非要不个ast放到个s

    Atitit. 构造ast 语法树的总结attilax oao 1. Ast结构树形1 2. ast view (自是个160k的jar )2 2.1. 多条语句ast结构2 2.2. 变量定义 in ...

  2. Atitit. 构造ast 语法树的总结attilax v2 q0f

    Atitit. 构造ast 语法树的总结attilax v2 q0f 1. Ast结构树形1 2. ast view (自是个160k的jar )2 2.1. 多条语句ast结构2 2.2. 变量定义 ...

  3. 教你如何用AST语法树对代码“动手脚”

    个推安卓工程师,负责公司移动端项目的架构和开发,主导移动端日志管理平台系统架构和开发工作,熟悉前后端的技术线,参与个推SDK主要业务研发工作,善于解决项目中遇到的痛点问题. 作为程序猿,每天都在写代码 ...

  4. Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python

    Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python 1.1. Sql语法树 ast 如下图锁死1 2. SQL语句解析的思路和过程3 ...

  5. atitit..sql update语法的词法分析,与语法ast构建

    atitit..sql update语法的词法分析,与语法ast构建 1. 要使用sql udpate语法的dsl ,需要写个解释器.. 1 2. 词法分析的实现 1 2.1. 扫描器的实现 SqlU ...

  6. vue 的模板编译—ast(抽象语法树) 详解与实现

    首先AST是什么? 在计算机科学中,抽象语法树(abstract syntax tree或者缩写为AST),或者语法树(syntax tree),是源代码的抽象语法结构的树状表现形式,这里特指编程语言 ...

  7. Atitit.jdk java8的语法特性详解 attilax 总结

    Atitit.jdk java8的语法特性详解 attilax 总结 1.1. 类型推断这个特别有趣的.鲜为人知的特性1 2. Lambda1 2.1. 内部迭代意味着改由Java类库来进行迭代,而不 ...

  8. AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解

    AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 javascriptvue-clicommonjswebpackast  阅读约 27 分钟 抽象语法树(AST),是一 ...

  9. 抽象语法树简介(ZZ)

    转载自: http://www.cnblogs.com/cxihu/p/5836744.html (一)简介 抽象语法树(abstract syntax code,AST)是源代码的抽象语法结构的树状 ...

随机推荐

  1. B-树学习笔记

    转自:http://blog.csdn.net/acs713/article/details/6880375 B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构.使用B-tree结构可以显著 ...

  2. GitHub上如何删除repository仓库

    1.选择你要删除的仓库名称点击进入. 2.看右边竖向导航栏,选择最下面的settings选项. 3.拉到最下面,看有一个delete this repository的按钮. 4.点击按钮后,会有一个弹 ...

  3. STL源码剖析——hashtable

    二叉搜索树具有对数时间的搜索复杂度,但是这样的复杂度是再输入数据有足够的随机性的假设上哈希表在插入删除搜索操作上也具有常数时间的表现,而且这种表现是以统计为基础,不需要依赖输入元素的随机性 hasht ...

  4. iOS:UIApplication和它对象的代理

    <1>UIApplication的对象是单例对象   类方法:UIApplication *app = [UIApplication sharedAppplication] <2&g ...

  5. poj 1035 Spell checker ( 字符串处理 )

    Spell checker Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16675   Accepted: 6087 De ...

  6. Download Visual Studio

    Welcome to a new way to install Visual Studio! In our newest version, we've made it easier for you t ...

  7. ejs和swig对比的问题之一

    本来想测试下两者在nodejs中得执行速度,设置了一个测试数据,如下 var testData = { title:'测试标题', description: '<p>这是一个描述,里面用很 ...

  8. SQL语法 之 表连接

    一.连接条件 连接查询中用来连接连个表的条件称为连接条件或连接谓词.其形式为: [<表1>].<列名1> <连接运算符> [<表2>].<列2&g ...

  9. Java浮点运算-BigDecimal

    package com.hsun.test; import static java.lang.System.out; import java.math.BigDecimal; public class ...

  10. Java并发性和多线程介绍目录

    http://ifeve.com/java-concurrency-thread-directory/