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. appium+python自动化52-多点触控MultiAction

    前言 MultiAction是针对多点触控操作的,是TouchAction的一个补充模块 TouchAction用法参考前面的一篇:appium+python自动化33-TouchAction 多点触 ...

  2. Interactive Messager

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 有用的iOS网站地址

    王巍 (@onevcat) 是一名 iOS 和 Unity3D 开发者,现旅居日本,正在寻求创意之源.http://swifter.tips/http://onevcat.com/2013/02/xc ...

  4. iOS: FFmpeg的使用二

    1.下载并编译FFMPEG. https://github.com/kewlbear/FFmpeg-iOS-build-script 下载后有一个build-ffmpeg.sh文件.终端执行即可自动下 ...

  5. 如何获取Android唯一标识(唯一序列号)

    有很多场景和需求你需要用到手机设备的唯一标识符. 在Android中,有以下几种方法获取这样的ID. 1. The IMEI: 仅仅只对Android手机有效: 1 2 TelephonyManage ...

  6. Google Scholar 论文参考文献的自动生成

    写论文经常需要写出参考文献,各种格式实在是麻烦的不行啊,在网上看到一个参考文献自动生成的博客,现在转载下来,以备以后自已能用. 主要是使用Google Scholar. Step 1: 打开Googl ...

  7. php--session垃圾回收机制

    在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾.PHP会将其在内存中销毁:这是PHP的GC垃圾处理机制,防止内存溢出. GC的工作就是扫描所有的Session信息,用当前时间减去sessi ...

  8. 免费的.net云平台appharbor.com

    支持Mysql,MSSQL2008R2免费的都是20MB 提供codeplex,GitHub,BitBucket部署到appharbor.com 也可以使用Git来部署应用,但不支持FTP 可以一键安 ...

  9. HDU 5025图论之BFS

    点击打开链接 题意:从K走到T,S为怪,走的时候就多花费一秒,走到T时收集m把不同的钥匙.可是规定收集n之前,必须1~n-1所有收集完成,怪最多有5个 思路:怪最多就有5个,然后钥匙是1~9把,我们每 ...

  10. [Grunt] Cleaning your build folder with grunt-contrib-clean

    Grunt will clean up your build with the grunt-contrib-clean to make sure that no artifacts from prev ...