本文介绍: 后续的内容我们会具体设计一门实用的简单编程语言来展现完整的过程源代码是新语言目标代码为Python语言设计过程需要对诸如Python,Java,C/C++等主流最热门语言有所了解。截止目前,大多数分布式编程一般针对具体应用场景,并且学习门槛都比较高,对编程新手不太友好,且通用性较差,比如计算,CUDA编程等。因此我们想让设计语言具有分布式编程的特点,且具有一定的通用性,具体做法就是通过语言设计总结出有效的编程规范然后通过编译器屏蔽数据同步复杂细节。Python简单易用,但语言规范方面稍欠。

目前进展

到现在,我们还远远不能做出一个真正的编译器,甚至对编译过程中的诸多细节也一知半解,模糊不清。虽然如此,但我们还是对整个流程一个大的理解,这帮助我们后续的设计。目前,我们已知:

  1. 编译器是将源代码通过复杂处理过程转化为目标代码程序
  2. 编译过程分两个阶段,第一阶段源代码进,语法树出;第二阶段语法树进,目标代码出。第一阶段称为分析处理者统称前端;第二阶段称为综合处理者统称后端。
  3. 编译过程,其本质就是文本到树再到文本,有结构化思维的人会很容易想到,这其实就是阅读和写作的过程,从书里的文本建立你脑海中的知识结构,再把这知识结构用你自己语言表达出来。
  4. 编译好比英文文章翻译中文文章源代码英文文章目标代码中文文章语法树体现翻译要点各种关系,是你翻译过程的主要笔记
  5. 前端处理词法分析语法分析语义分析
  6. 后端处理中间代码生成目标代码生成贯穿各个阶段的优化

后续计划

直接对编译的细节进行完善的讲解内容太多,也不是我们计划。如果需要完善的讲解,看相关编译原理的书或许更加合适。我们的目的就是针对编译原理小白做出一门真正的语言,直接体会编译核心要点。后续的内容,我们会具体设计一门实用的简单编程语言来展现完整的过程,源代码是新语言,目标代码为Python语言,设计过程需要对诸如Python,Java,C/C++等主流最热门语言有所了解。

设计背景

目前的设计愿景如下,后续会针对实践的问题进行完善和改进。

编程语言是人与计算机之间沟通的桥梁,它可以人们想要完成的任务交给计算机完成。对于很多编程群体来说,或许程序效率之类的考虑反而是次要的,他们更需要的是一种简单易用的编程工具比如学生(尤其初学者)。而对于学生,往往很多时候都需要借助大量数学知识解决问题,因此我们想做一种简单易用的数学风格语言,以适合大学生做一些日常普通的学习任务

除了让目标语言贴近数学外,我们还想让其支持通用的分布式编程。截止目前,大多数分布式编程一般针对具体应用场景,并且学习门槛都比较高,对编程新手不太友好,且通用性较差,比如云计算,CUDA编程等。因此我们想让设计的语言具有分布式编程的特点,且具有一定的通用性,具体做法就是通过语言设计总结出有效的编程规范然后通过编译器屏蔽数据同步复杂细节。

在具体设计之前,我们可以回顾当前最热门的几门语言来提供思路:Java,Python,C/C++。这些语言都各有优点和缺点,C语言简单高效,但在面向对象编程方面能力不足;C++功能强大,但函数规范和库繁杂;Java规范易用,但日渐规模臃肿;Python简单易用,但语言规范方面稍欠。很显然语言的规范性,易用性,功能性都是值得考虑的地方。
经过深思熟虑和反复推敲之后,我们做出了具有如下基本功能的分布式数学计算语言SimpleSYNC:

  1. 支持分布式编程,且具有较好的通用性
  2. 语言风格贴近数学,编程设计门槛较低
  3. 原生支持复数类型,让数学计算更省心
  4. 统一繁杂的数值类型整数/实数/复数
  5. 支持数学式的函数定义,方便科学计算
  6. 拥有多种实用数组类型,简化问题模型

原文地址:https://blog.csdn.net/weixin_45792450/article/details/134629647

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_16911.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注