From 127dae1c3b48c3a4dceddb9000309bfeaa8d0a01 Mon Sep 17 00:00:00 2001 From: Johnny Richard Date: Wed, 26 Apr 2023 00:40:44 +0200 Subject: style: Use clang-format as formatter and linter tool We want to keep the code style consistent, this first commit adds a .clang-format in order to "document" our style code. This patch also adds a target *linter* to Makefile which will complain if we have any style issue on test and src dirs. I have run the follow command to create the .clang-format file: $ clang-format -style=mozilla -dump-config > .clang-format And I also made some adjusts to .clang-format changing the following properties: PointerAlignment: Right ColumnLimit: 120 Commands executed to fix the current styling: $ find . -name *.h | xargs clang-format -i $ find . -name *.c | xargs clang-format -i Signed-off-by: Johnny Richard --- src/pipac.c | 57 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 27 deletions(-) (limited to 'src/pipac.c') 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 . -*/ + * 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 . + */ #include #include #include -#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); -- cgit v1.2.3