Working on actually making a program

This commit is contained in:
Krzosa Karol
2022-06-07 12:10:20 +02:00
parent 759825172c
commit af5865b059
5 changed files with 63 additions and 22 deletions

View File

@@ -31,22 +31,39 @@ int main(){
}
typedef struct Token{
U8 kind;
U8 *str;
S64 len;
/*enum Kind{
Number = 0,
};*/
}Token;
String kind_name(U8 kind){
if((kind==0)){
return LIT("<Number>");
}
else{
return LIT("<Unknown>");
}
}
Bool is_numeric(U8 c){
Bool result = ((c>=48)&&(c<=57));
return result;
}
void entry(){
String string_to_lex = LIT("Identifier 2425525 Not_Number");
Token token_array[32];
U32 token_count;
printf("printf", 32);
S64 token_count = 0;
Token t;
for(S64 i = 0;(i<string_to_lex.len);(i+=1)){
if(is_numeric((string_to_lex.str[i]))){
(t.kind=0);
(t.str=(&(string_to_lex.str[i])));
(t.len=i);
for(;is_numeric((string_to_lex.str[i]));){
@@ -54,7 +71,10 @@ void entry(){
}
(t.len=(i-t.len));
((token_array[(token_count++)])=t);
(token_count+=1);
}
}
for(S64 i = 0;(i<token_count);(i++)){
Token *tk = (&(token_array[i]));
printf("%.*s", ((S32 )tk->len), tk->str);
}
}