如何对语言进行静态输入和解释?

时间:2018-08-20 18:46:06

标签: types

如果解释型语言的源代码在运行时进行了翻译,而静态类型的语言在编译时进行了分配,那么如何将这两种语言兼而有之?

根据这个问题,我知道这是可能的:Which languages are dynamically typed and compiled (and which are statically typed and interpreted)?

此页面很好地解释了静态类型语言和动态类型语言之间的区别:https://hackernoon.com/i-finally-understand-static-vs-dynamic-typing-and-you-will-too-ad0c2bd0acc7

我只是不了解如何同时对语言进行静态输入和解释?

谢谢

1 个答案:

答案 0 :(得分:1)

解释并不意味着源代码的每一行都在执行该行之前就已解析。通常有一个初始化步骤,在该步骤中,解释程序在开始执行程序之前先解析整个程序。此时,解释器可以应用类型检查。

作为一个实际的例子,mypy是一个Python解释器,它在执行开始之前使用Python type annotations进行类型检查。