定制本身的编程语言

  • 你是否厌倦了学习新的编程语言,去仔细理解设计者各类奇葩的设计?
  • 你是否由于长期不用一种语言,而忘记了这些语言的所谓许多特别之处?
  • 你是否由于工做须要,不得不忍受各类语言的种种限制,去编写各类算法?

如今有了一种解决这种问题的好办法,设计本身的计算机语言:git

符合本身习惯的语法
	能自动转换成工做语言
	把语言的各类奇技淫巧都隐藏起来

我已经实现了这个愿望,设计了一种本身的计算机语言:程序员

MyLang算法

这门语言没有采用任何教科书上使用的编译技术,而是用了一种语法分离的解析技术。让设计语言变得异常简单。由于并不须要设计一堆解析代码,也不要设计复杂的语法树数据结构,更不须要设计底层运行语言,只须要设计本身的语言语法,就能容易的拥有本身的计算机语言。编程

也就是说数据结构

普通程序员也能设计本身的语言

这个项目绝大部分代码是用本身的语言书写的,编译运行,都是转换成别的语言来运行,对我来讲:编程语言

别的语言都是底层语言

我能够用一种风格书写代码,但能够生成 Python,PHP,Ruby, C, Lua, GoLang ... 等许多的语言。学习

若是学习一门新语言,在把这门语言全部的特别之处,集成到 MyLang 语言的转换代码中后,就不会去关心这些让人讨厌的东西了,只是须要关注这门语言的模块功能,新的类的功能。atom

先分享一下这种简洁的代码风格:spa

fn match-rules($c:Cursor $rules) str
  my $gather PASS
  for $rule $rules.atoms {
    while $c.readchar.isspace $c.at.inc
    my $match $c.match-rule($rule)
    if $match == FAIL return FAIL
    set $gather $gather.gather($match)
  }
  return $gather

想关注这个项目,一块儿学习设计本身的语言,轻松一点,胜人一筹!设计

https://gitee.com/str/myspp

欢迎私信讨论。

相关文章
相关标签/搜索