diff options
author | Johnny Richard <johnny@johnnyrichard.com> | 2023-04-26 00:40:44 +0200 |
---|---|---|
committer | Carlos Maniero <carlosmaniero@gmail.com> | 2023-04-25 23:19:13 -0300 |
commit | 127dae1c3b48c3a4dceddb9000309bfeaa8d0a01 (patch) | |
tree | 4d92b3a7b4c29f0ace3a5ff699e4789f60b0aa46 /src/parser.h | |
parent | c1a1bd2320b4c1508c4ab20d23b7c193a94d8026 (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/parser.h')
-rw-r--r-- | src/parser.h | 48 |
1 files changed, 26 insertions, 22 deletions
diff --git a/src/parser.h b/src/parser.h index 4b6b5a9..bdf0c5a 100644 --- a/src/parser.h +++ b/src/parser.h @@ -1,19 +1,19 @@ /* -* 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/>. + */ #ifndef PARSER_H #define PARSER_H @@ -21,22 +21,26 @@ #include "lexer.h" #include "string_view.h" -typedef struct parser_error_t { +typedef struct parser_error_t +{ token_t token; - char message [256]; + char message[256]; } parser_error_t; -typedef struct parser_t { +typedef struct parser_t +{ lexer_t *lexer; int errors_len; // FIXME: replace with vector parser_error_t errors[1]; } parser_t; -void parser_init(parser_t *parser, lexer_t *lexer); +void +parser_init(parser_t *parser, lexer_t *lexer); -bool parser_parse_function_declaration(parser_t *parser, ast_node_t *node); -bool parser_parse_expression(parser_t *parser, ast_node_t *node); +bool +parser_parse_function_declaration(parser_t *parser, ast_node_t *node); +bool +parser_parse_expression(parser_t *parser, ast_node_t *node); #endif /* PARSER_H */ - |