mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-23 04:50:17 +00:00
rename
This commit is contained in:
parent
8f63ac89a6
commit
90687f4488
@ -11,14 +11,13 @@ public:
|
||||
this->current = r.start;
|
||||
}
|
||||
|
||||
bool hasNext(){
|
||||
bool has_next(){
|
||||
return r.step > 0 ? current < r.stop : current > r.stop;
|
||||
}
|
||||
|
||||
PyVar next(){
|
||||
PyVar val = vm->PyInt(current);
|
||||
current += r.step;
|
||||
return val;
|
||||
return vm->PyInt(current-r.step);
|
||||
}
|
||||
};
|
||||
|
||||
@ -28,7 +27,7 @@ class ArrayIter : public BaseIter {
|
||||
const T* p;
|
||||
public:
|
||||
ArrayIter(VM* vm, PyVar _ref) : BaseIter(vm, _ref) { p = &OBJ_GET(T, _ref);}
|
||||
bool hasNext(){ return index < p->size(); }
|
||||
bool has_next(){ return index < p->size(); }
|
||||
PyVar next(){ return p->operator[](index++); }
|
||||
};
|
||||
|
||||
@ -40,6 +39,6 @@ public:
|
||||
str = OBJ_GET(_Str, _ref);
|
||||
}
|
||||
|
||||
bool hasNext(){ return index < str.u8_length(); }
|
||||
bool has_next(){ return index < str.u8_length(); }
|
||||
PyVar next() { return vm->PyStr(str.u8_getitem(index++)); }
|
||||
};
|
||||
|
@ -65,7 +65,7 @@ protected:
|
||||
PyVar _ref; // keep a reference to the object so it will not be deleted while iterating
|
||||
public:
|
||||
virtual PyVar next() = 0;
|
||||
virtual bool hasNext() = 0;
|
||||
virtual bool has_next() = 0;
|
||||
PyVarRef var;
|
||||
BaseIter(VM* vm, PyVar _ref) : vm(vm), _ref(_ref) {}
|
||||
virtual ~BaseIter() = default;
|
||||
|
@ -38,7 +38,7 @@ constexpr TokenIndex TK(const char* const token) {
|
||||
const TokenIndex kTokenKwBegin = TK("class");
|
||||
const TokenIndex kTokenKwEnd = TK("raise");
|
||||
|
||||
const emhash8::HashMap<std::string_view, TokenIndex> __KW_MAP = [](){
|
||||
const emhash8::HashMap<std::string_view, TokenIndex> kTokenKwMap = [](){
|
||||
emhash8::HashMap<std::string_view, TokenIndex> map;
|
||||
for(int k=kTokenKwBegin; k<=kTokenKwEnd; k++) map[kTokens[k]] = k;
|
||||
return map;
|
||||
@ -231,7 +231,7 @@ struct Parser {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(__KW_MAP.count(name)){
|
||||
if(kTokenKwMap.count(name)){
|
||||
if(name == "not"){
|
||||
if(strncmp(curr_char, " in", 3) == 0){
|
||||
curr_char += 3;
|
||||
@ -245,7 +245,7 @@ struct Parser {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
set_next_token(__KW_MAP.at(name));
|
||||
set_next_token(kTokenKwMap.at(name));
|
||||
} else {
|
||||
set_next_token(TK("@id"));
|
||||
}
|
||||
|
4
src/vm.h
4
src/vm.h
@ -20,7 +20,6 @@
|
||||
|
||||
|
||||
class VM {
|
||||
// std::vector<PyVar> _small_integers; // [-5, 256]
|
||||
std::stack< std::unique_ptr<Frame> > callstack;
|
||||
PyVar _py_op_call;
|
||||
|
||||
@ -259,7 +258,7 @@ class VM {
|
||||
{
|
||||
// top() must be PyIter, so no need to try_deref()
|
||||
auto& it = PyIter_AS_C(frame->top());
|
||||
if(it->hasNext()){
|
||||
if(it->has_next()){
|
||||
PyRef_AS_C(it->var)->set(this, frame, it->next());
|
||||
}else{
|
||||
int blockEnd = frame->co->blocks[byte.block].end;
|
||||
@ -365,7 +364,6 @@ public:
|
||||
}
|
||||
|
||||
init_builtin_types();
|
||||
// for(i64 i=-5; i<=256; i++) _small_integers.push_back(new_object(_tp_int, i));
|
||||
}
|
||||
|
||||
PyVar asStr(const PyVar& obj){
|
||||
|
Loading…
x
Reference in New Issue
Block a user