summaryrefslogtreecommitdiff
path: root/src/parser.h
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/parser.h
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/parser.h')
-rw-r--r--src/parser.h48
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 */
-