mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
some fix
This commit is contained in:
parent
bcff54fe78
commit
5a8d9bb5f7
@ -46,16 +46,17 @@ print(code)
|
|||||||
```
|
```
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
pkpy:1.4.4
|
pkpy:1.4.5
|
||||||
0
|
0
|
||||||
|print|
|
=1
|
||||||
|
print
|
||||||
=6
|
=6
|
||||||
5,1,0,
|
5,1,0,
|
||||||
6,1,5,1,0,
|
6,0,,,
|
||||||
42,1,1,
|
42,,1,
|
||||||
8,1,1,S48656c6c6f2c20776f726c6421
|
8,,,S48656c6c6f2c20776f726c6421
|
||||||
43,1,0,
|
43,,0,
|
||||||
3,1,0,
|
3,,,
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ struct TokenDeserializer{
|
|||||||
|
|
||||||
TokenDeserializer(const char* source): curr(source), source(source) {}
|
TokenDeserializer(const char* source): curr(source), source(source) {}
|
||||||
char read_char(){ return *curr++; }
|
char read_char(){ return *curr++; }
|
||||||
char peek_char(){ return *curr; }
|
bool match_char(char c){ if(*curr == c) { curr++; return true; } return false; }
|
||||||
|
|
||||||
std::string_view read_string(char c);
|
std::string_view read_string(char c);
|
||||||
Str read_string_from_hex(char c);
|
Str read_string_from_hex(char c);
|
||||||
|
@ -1252,13 +1252,10 @@ __EAT_DOTS_END:
|
|||||||
if(is_raw_string_used(token.type)){
|
if(is_raw_string_used(token.type)){
|
||||||
ss << token_indices[token.sv()] << ',';
|
ss << token_indices[token.sv()] << ',';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(i>0 && tokens[i-1].line == token.line) ss << ',';
|
if(i>0 && tokens[i-1].line == token.line) ss << ',';
|
||||||
else ss << token.line << ',';
|
else ss << token.line << ',';
|
||||||
|
|
||||||
if(i>0 && tokens[i-1].brackets_level == token.brackets_level) ss << ',';
|
if(i>0 && tokens[i-1].brackets_level == token.brackets_level) ss << ',';
|
||||||
else ss << token.brackets_level << ',';
|
else ss << token.brackets_level << ',';
|
||||||
|
|
||||||
// visit token value
|
// visit token value
|
||||||
std::visit([&ss](auto&& arg){
|
std::visit([&ss](auto&& arg){
|
||||||
using T = std::decay_t<decltype(arg)>;
|
using T = std::decay_t<decltype(arg)>;
|
||||||
@ -1306,13 +1303,13 @@ __EAT_DOTS_END:
|
|||||||
t.length = 0;
|
t.length = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(deserializer.peek_char() == ','){
|
if(deserializer.match_char(',')){
|
||||||
t.line = tokens.back().line;
|
t.line = tokens.back().line;
|
||||||
}else{
|
}else{
|
||||||
t.line = (int)deserializer.read_uint(',');
|
t.line = (int)deserializer.read_uint(',');
|
||||||
}
|
}
|
||||||
|
|
||||||
if(deserializer.peek_char() == ','){
|
if(deserializer.match_char(',')){
|
||||||
t.brackets_level = tokens.back().brackets_level;
|
t.brackets_level = tokens.back().brackets_level;
|
||||||
}else{
|
}else{
|
||||||
t.brackets_level = (int)deserializer.read_uint(',');
|
t.brackets_level = (int)deserializer.read_uint(',');
|
||||||
|
@ -176,7 +176,7 @@ void add_module_os(VM* vm){
|
|||||||
std::filesystem::directory_iterator di;
|
std::filesystem::directory_iterator di;
|
||||||
try{
|
try{
|
||||||
di = std::filesystem::directory_iterator(path);
|
di = std::filesystem::directory_iterator(path);
|
||||||
}catch(std::filesystem::filesystem_error& e){
|
}catch(std::filesystem::filesystem_error&){
|
||||||
vm->IOError(path.string());
|
vm->IOError(path.string());
|
||||||
}
|
}
|
||||||
List ret;
|
List ret;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user