summaryrefslogtreecommitdiff
path: root/src/pipac.c
diff options
context:
space:
mode:
authorJohnny Richard <johnny@johnnyrichard.com>2023-04-26 00:40:44 +0200
committerCarlos Maniero <carlosmaniero@gmail.com>2023-04-25 23:19:13 -0300
commit127dae1c3b48c3a4dceddb9000309bfeaa8d0a01 (patch)
tree4d92b3a7b4c29f0ace3a5ff699e4789f60b0aa46 /src/pipac.c
parentc1a1bd2320b4c1508c4ab20d23b7c193a94d8026 (diff)
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 <johnny@johnnyrichard.com>
Diffstat (limited to 'src/pipac.c')
-rw-r--r--src/pipac.c57
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);