mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
print tokens is ok
This commit is contained in:
parent
92af6cd31f
commit
a270a01229
@ -861,6 +861,7 @@ TEST(lexser, operator_not) {
|
||||
|
||||
/* run */
|
||||
char* tokens = Lexer_getTokens(buffs, (char*)"not not not ");
|
||||
char* printTokens = Lexer_printTokens(buffs, tokens);
|
||||
|
||||
/* deinit */
|
||||
args_deinit(buffs);
|
||||
|
@ -170,6 +170,27 @@ uint8_t checkIsDirect(char* str) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
char* Lexer_printTokens(Args* outBuffs, char* tokens) {
|
||||
/* init */
|
||||
Args* buffs = New_strBuff();
|
||||
char* printOut = strsCopy(buffs, "");
|
||||
|
||||
/* process */
|
||||
uint16_t tokenSize = strCountSign(tokens, ' ') + 1;
|
||||
char* tokensBuff = strsCopy(buffs, tokens);
|
||||
for (int i = 0; i < tokenSize; i++) {
|
||||
char* token = strsPopToken(buffs, tokens, ' ');
|
||||
if (token[0] == TOKEN_operator) {
|
||||
printOut = strsAppend(buffs, printOut, "<opt>");
|
||||
printOut = strsAppend(buffs, printOut, token + 1);
|
||||
}
|
||||
}
|
||||
/* out put */
|
||||
printOut = strsCopy(outBuffs, printOut);
|
||||
args_deinit(buffs);
|
||||
return printOut;
|
||||
}
|
||||
|
||||
char* Lexer_setOperator(Args* outBuffs, char* tokens, char* operator) {
|
||||
Args* buffs = New_strBuff();
|
||||
char token_type_buff[3] = {0};
|
||||
|
@ -37,5 +37,6 @@ int32_t AST_deinit(AST* ast);
|
||||
char* AST_toPikaAsm(AST* ast, Args* buffs);
|
||||
char* pikaParseMultiLineToAsm(Args* outBuffs, char* multiLine);
|
||||
char* Lexer_getTokens(Args* outBuffs, char* stmt);
|
||||
char* Lexer_printTokens(Args* outBuffs, char* tokens);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user