mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
...
This commit is contained in:
parent
9182ba5fc5
commit
8e104627cb
@ -531,6 +531,7 @@ struct FStringExpr: Expr{
|
||||
}
|
||||
|
||||
void _load_simple_expr(CodeEmitContext* ctx, Str expr){
|
||||
// TODO: pre compile this into a function
|
||||
int dot = expr.index(".");
|
||||
if(dot < 0){
|
||||
ctx->emit(OP_LOAD_NAME, StrName(expr.sv()).index, line);
|
||||
@ -700,6 +701,7 @@ struct BinaryExpr: Expr{
|
||||
case TK("!="): ctx->emit(OP_COMPARE_NE, BC_NOARG, line); break;
|
||||
case TK(">"): ctx->emit(OP_COMPARE_GT, BC_NOARG, line); break;
|
||||
case TK(">="): ctx->emit(OP_COMPARE_GE, BC_NOARG, line); break;
|
||||
|
||||
case TK("in"): ctx->emit(OP_CONTAINS_OP, 0, line); break;
|
||||
case TK("not in"): ctx->emit(OP_CONTAINS_OP, 1, line); break;
|
||||
case TK("is"): ctx->emit(OP_IS_OP, 0, line); break;
|
||||
|
@ -8,11 +8,8 @@
|
||||
int main(int argc, char** argv){
|
||||
pkpy::VM* vm = pkpy_new_vm();
|
||||
vm->bind_builtin_func<0>("input", [](pkpy::VM* vm, pkpy::ArgsView args){
|
||||
// TODO: we do not use pkpy::getline() here. It doesn't accept unicode characters.
|
||||
// pkpy::getline() has bugs for PIPE input
|
||||
static std::string buffer;
|
||||
std::cin >> buffer;
|
||||
return VAR(buffer);
|
||||
// pkpy::getline() has bugs for PIPE input on Windows
|
||||
return VAR(pkpy::getline());
|
||||
});
|
||||
if(argc == 1){
|
||||
pkpy::REPL* repl = pkpy_new_repl(vm);
|
||||
|
Loading…
x
Reference in New Issue
Block a user