初级程序员可以用什么语言为它实现翻译?

时间:2009-09-18 18:07:32

标签: programming-languages interpreter

我的大学即将开始,但我想在剩下的几周内做点什么:)

上个学期我学过programming languages课程,我想把我的知识变为现实。初级程序员可以为简单优雅语言实现解释器吗?

我不介意语言是非常小还是实验性的。

13 个答案:

答案 0 :(得分:16)

组件

我不是在谈论将其编译为机器代码。只是一名翻译。

我们在第一年就做过,但是教授写了虚拟机,但你仍然可以自己编写。

答案 1 :(得分:14)

Lisp和/或Scheme。有关指针,请阅读由IronLisp开发的Leppie代码。

答案 2 :(得分:8)

lolcodebrainfuck既小又简单。

答案 3 :(得分:6)

RPAL编译为lambda表达式,然后可以对其进行解释。

答案 4 :(得分:5)

设计你自己的语言,然后尝试实现它。然后谦卑地向那些设计和实现c ++,Java,c sharp等的人鞠躬。

但请务必尝试!这很有挑战性,而且非常有趣!

答案 5 :(得分:4)

Wirth的Pascal是一种经典语言,专为简单解析而设计,具有严格但简单的语义,通常用作解析/编译器编写练习。

答案 6 :(得分:2)

来自命令式(基于变化的)背景(熟悉汇编,C,Pascal),人们可以尝试brainfuck的改编,因为它很容易解释。

这可以通过很少的人类可读语法扩展到类似汇编的语言,并且有些努力变得有点BASIC(或C)。

定位功能语言,相对容易LISPlambda calculus。有几个实现,如IronLisp或Write yourself a Scheme in 48 hours教程,显示方式。

答案 7 :(得分:2)

答案 8 :(得分:1)

有些人在业余时间实施了stack-based language (Cat)的变体。

答案 9 :(得分:0)

您可以选择任何语言,但仅针对该语言的子集进行解释。通过这种方式,您可以开始使用您熟悉的语言,而无需花时间学习新语言。

答案 10 :(得分:0)

PAL是我们在编译器类中使用的语言。什么是PAL?这是PASCAL的一个子集傻!

无论如何,pascal很好,因为一切都是编译时间。

答案 11 :(得分:0)

BASIC将相当......非常基本:)。您可以简单地从评估表达式开始。当你仍然在拼贴时,即使这是非常令人满意的。我可能会问您打算使用哪种语言?

答案 12 :(得分:0)

jasmin 基于堆栈的汇编,因为你可以将java反编译为易于编写的简单测试程序。