diff options
Diffstat (limited to 'src/pipac.c')
-rw-r--r-- | src/pipac.c | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/src/pipac.c b/src/pipac.c index 2b7b1f5..1acb4b6 100644 --- a/src/pipac.c +++ b/src/pipac.c @@ -1,28 +1,28 @@ /* -* Copyright (C) 2023 Johnny Richard -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see <https://www.gnu.org/licenses/>. -*/ + * Copyright (C) 2023 Johnny Richard + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include "lexer.h" #include "ast.h" +#include "gas_assembly_generator.h" +#include "lexer.h" #include "parser.h" #include "string_view.h" -#include "gas_assembly_generator.h" void generate_gas_x86_64_linux(ast_node_t *func) @@ -40,24 +40,27 @@ print_usage() } void -print_tokens(lexer_t *lexer) { +print_tokens(lexer_t *lexer) +{ token_t token; for (lexer_next_token(lexer, &token); token.kind != TOKEN_EOF; lexer_next_token(lexer, &token)) { - printf("%s:%d:%d: [kind=%d, value='"SVFMT"']\n", lexer->filepath, token.row + 1, token.col + 1, token.kind, SVARG(&token.value)); + printf("%s:%d:%d: [kind=%d, value='" SVFMT "']\n", + lexer->filepath, + token.row + 1, + token.col + 1, + token.kind, + SVARG(&token.value)); } } void -parser_print_errors(parser_t *parser) { - for (int i=0; i < parser->errors_len; i++) { +parser_print_errors(parser_t *parser) +{ + for (int i = 0; i < parser->errors_len; i++) { parser_error_t error = parser->errors[i]; fprintf( - stderr, - "%s:%d:%d: [ERROR]: %s\n", - error.token.filepath, error.token.row + 1, error.token.col + 1, - error.message - ); + stderr, "%s:%d:%d: [ERROR]: %s\n", error.token.filepath, error.token.row + 1, error.token.col + 1, error.message); } } @@ -77,7 +80,7 @@ main(int argc, char **argv) parser_t parser; parser_init(&parser, &lexer); - ast_node_t* func = ast_node_new(); + ast_node_t *func = ast_node_new(); if (!parser_parse_function_declaration(&parser, func)) { parser_print_errors(&parser); |