Cob*_*old 3 .net c# vb.net interpreter
我认为如果我能在运行时编写vb.net或c#代码会很有趣,而解释器会像python一样自动解析它,所以我做了一个小程序,它会做类似的事情.基本上它看起来像这样:
InputArgs = Console.ReadLine()
ParseInput(InputArgs.Split(" "))
Private Sub ParseInput(Args as List(Of String), Optional TempArgs as List(Of String))
Dim arg as string = Args(0)
If arg = ".." then
...
elseif arg = ".." then
...
end if
End Sub
Run Code Online (Sandbox Code Playgroud)
我知道这不是一个好的系统,但它显示了基础知识.所以我的问题是:是否有可能使vb.net或c#像python一样 - 在运行时解释?
这已经存在于相当多的形状和形式:
Mono有Mono.CSharp程序集,你可以参考做任何CSharp.exe(AC#'解释器'或交互式shell,如果你愿意)可以做:
void ReadEvalPrintLoopWith (ReadLiner readline)
{
string expr = null;
while (!InteractiveBase.QuitRequested){
string input = readline (expr == null);
if (input == null)
return;
if (input == "")
continue;
expr = expr == null ? input : expr + "\n" + input;
expr = Evaluate (expr);
}
}
Run Code Online (Sandbox Code Playgroud)
毋庸置疑,这也适用于MS.Net(当然,这是关于便携式.Net的观点).
github上有完整的消息来源- 就像其他的Mono一样.
已经实施了几种DLR语言,包括但不限于
它允许您在.NET框架中动态评估python/ruby代码.
Microsoft已将Roslyn发布为CTP(预览版).它基本上可以做与Mono REPL(第一项)相同的东西,以及(更多).但它仍然是预览.
| 归档时间: |
|
| 查看次数: |
2269 次 |
| 最近记录: |