Allow underscores in idents

This commit is contained in:
Sofia 2026-04-14 14:19:08 +03:00
parent 0cdf1abf82
commit fa8c4b0e74
2 changed files with 4 additions and 4 deletions

View File

@ -159,13 +159,13 @@ namespace token {
i++; // Skip second " i++; // Skip second "
tokens.push_back(token::Token{ token::Type::LiteralStr, content, meta + (content.size() + 2) }); tokens.push_back(token::Token{ token::Type::LiteralStr, content, meta + (content.size() + 2) });
} }
else if (std::isalpha(c)) { else if (std::isalpha(c) || c == '_') {
std::string content{}; std::string content{};
do { do {
content += c; content += c;
if ((i + 1) >= text_length) break; if ((i + 1) >= text_length) break;
c = text[++i]; c = text[++i];
} while (std::isalnum(c)); } while (std::isalnum(c) || c == '_');
token::Type type = token::Type::Ident; token::Type type = token::Type::Ident;
if (content == "return") { if (content == "return") {

4
test.c
View File

@ -6,13 +6,13 @@ int fibonacci(int n) {
return fibonacci(n - 1) + fibonacci(n - 2); return fibonacci(n - 1) + fibonacci(n - 2);
} }
void modifyvalue(char* otus) { void modify_value(char* otus) {
*otus = 20; *otus = 20;
} }
int main() { int main() {
printf("10th fibonacci number is %d!", fibonacci(10)); printf("10th fibonacci number is %d!", fibonacci(10));
char res = 10; char res = 10;
modifyvalue(&res); modify_value(&res);
return res; return res;
} }