syntaxTree 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
syntaxTree 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
syntaxTree 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
syntaxTree 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
syntaxTree 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

velocity语法树解析,可以解析出一棵树,配合vtree可以完成velocity语法解析和渲染,分开来发布,因为语法树解析目前是写成lua模块,而vtree是纯lua代码。两者非常独立,如果作为语法学习研究用,你可以尝试自己写一个语法渲染部分,如果您能写出一个新的,请联系我,可能有惊喜。

本语法树解析,完成绝大部分的语法功能,局部语法会有些BUG,不过不用担心,你可以尝试自己修复,修复了也请及时告知我,本人也求才若渴哦,本软件已经在部分生产系统上有所应用,并且运行良好,语法解析部分使用内存泄露工具做过检测,目前暂无泄露。

语法解析看起来是个比较古老的玩意了,相关资料也是比较旧的,但是确实还是挺有用处的。本软件参考的一些书籍,资料 http://gitcd.com/viewRepo.htm?repoId=555 

如果你自己也做出一个velocity语法解析的,比我这个写的好,请告诉我,有惊喜!如果你知道有什么用C写的非常成熟的velocity语法解析软件,请告诉我,无比感谢!

本软件如何在nginx上应用,后续将有专题文章介绍。

本软件是团队合作研发成功,目前在来往上建有“扎堆”,欢迎加入参与学习,本“扎堆”欢迎做实事的人,如果你准备使用本软件的任何一部分,或者准备改写,或者准备重构,技术上有任何问题,都可立即咨询。

扎堆群二维码:

展开阅读全文

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2019/05/05 18:19

笔记 - C#从头开始构建编译器 - 2

视频与PR:https://github.com/terrajobst/minsk/blob/master/docs/episode-02.md 作者是 Immo Landwerth(https://twitter.com/terrajobst),微软 .NET 团队的项目经理。 这一集的主要内容: 1.添加 Binder,充当语义分析作用。 Binder 基于 SyntaxTree,大体上 SyntaxKind.XXX_Expression => Bind_XXX_Expression。 在 SyntaxTree 中,运算符只是个枚举值(即也就只是个符号),而在 Binder 中必须赋予更加具体的语义。 比如...

0
0
发表了博客
2018/10/25 17:49

Roslyn入门(一)-C#语法分析

演示环境 Visual Studio 2017 .NET Compiler Platform SDK 简介 今天,Visual Basic和C#编译器是黑盒子:输入文本然后输出字节,编译管道的中间阶段没有透明性。使用.NET编译器平台(以前称为“Roslyn”),工具和开发人员可以利用编译器使用的完全相同的数据结构和算法来分析和理解代码。 本篇文章,我们将会慢慢熟悉语法API,通过语法API来查看解析器,语法树,用于推理和构造它们的实用程序。 理解语法树 Trivia,Token和Nod...

0
0
发表了博客
2019/03/27 22:32

Rabbit RPC 代码阅读(一)

前言 因为想对RPC内部的机制作一个了解,特作以下阅读代码日志,以备忘。 RPC介绍 Rabbit RPC 原理可以用3点概括: 1、服务端启动并且向注册中心发送服务信息,注册中心收到后会定时监控服务状态(常见心跳检测)。 2、客户端需要开始调用服务的时候,首先去注册中心获取服务信息。 3、客户端创建远程调用连接,连接后服务端返回处理信息。 第3步又可以细分,下面说说远程过程调用的原理: 1、目标:客户端怎么调用远程机器上的...

0
0
发表了博客
2019/08/25 10:58

Roslyn入门(一)-C#语法分析

1|0演示环境 Visual Studio 2017 .NET Compiler Platform SDK 2|0简介 今天,Visual Basic和C#编译器是黑盒子:输入文本然后输出字节,编译管道的中间阶段没有透明性。使用.NET编译器平台(以前称为“Roslyn”),工具和开发人员可以利用编译器使用的完全相同的数据结构和算法来分析和理解代码。 本篇文章,我们将会慢慢熟悉语法API,通过语法API来查看解析器,语法树,用于推理和构造它们的实用程序。 3|0理解语法树 Trivia,T...

0
0
发表了博客
2018/10/26 13:33

Roslyn入门(二)-C#语义

先决条件 Visual Studio 2017 .NET Compiler Platform SDK Rosyln入门(一)-C#语法分析 简介 今天,Visual Basic和C#编译器是黑盒子:输入文本然后输出字节,编译管道的中间阶段没有透明性。使用.NET编译器平台(以前称为“Roslyn”),工具和开发人员可以利用编译器使用的完全相同的数据结构和算法来分析和理解代码。 本篇文章,我们将探索Symbol和BindingAPI。通过语法API来查看解析器,语法树,用于推理和构造它们的实用程...

0
0
发表了博客
2019/05/03 22:56

笔记 - C#从头开始构建编译器 - 1

视频与PR:https://github.com/terrajobst/minsk/blob/master/docs/episode-01.md 作者是 Immo Landwerth(https://twitter.com/terrajobst),微软 .NET 团队的项目经理。 这一集主要内容是一个原始的递归下降 Parser。 思路: 1.Lexer (1) enum SyntaxKind (2) abstract class SyntaxNode (3) class SyntaxToken : SyntaxNode (4) class Lexer 2.Expression (1) abstract class ExpressionSyntax : SyntaxNode (2) sealed cl...

0
0
发表于服务端专区
2020/04/12 10:36

.NET程序的性能要领和优化建议

前几天在老赵的博客上看到,Bill Chiles (Roslyn 编译器的Program Manager)写了一篇文章叫做《Essential Performance Facts and .NET Framework Tips》。这篇文章是一个14页的pdf,当时我是在地铁上在Lumia手机上看的,觉得很是不错,这里也建议大家直接下载阅读原文,我这里试着翻译一下,以加深自己印象,后面也有一些思考,以下是原文内容: 本文提供了一些性能优化的建议,这些经验来自于使用托管代码重写C# 和 VB编译器,并...

0
0
发表了博客
2020/09/19 17:00

柔性多模正则匹配引擎

分享嘉宾:王彬@奇安信 出品平台:DataFunTalk 导读:正则表达式,每个计算机从业人员都熟知的技术,你真的懂吗?一个老掉牙的、不时尚的技术如何在"国内首款分布式流式关联分析引擎sabre"中翻新?你肯定感兴趣! 01 背景 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合, 组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,...

0
0
2020/09/17 23:25

柔性多模正则匹配引擎

分享嘉宾:王彬@奇安信 出品平台:DataFunTalk 导读:正则表达式,每个计算机从业人员都熟知的技术,你真的懂吗?一个老掉牙的、不时尚的技术如何在"国内首款分布式流式关联分析引擎sabre"中翻新?你肯定感兴趣! 01 背景 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合, 组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部