aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2022-03-30 17:14:35 +0200
committerBad Diode <bd@badd10de.dev>2022-03-30 17:14:35 +0200
commit4d5d49b0d1282df08e3dc7dec3c550c544fbfccb (patch)
tree5eedd17f9e255d277284247e5b4b7299f0597cda /src
parent4b2cb6a1bdd2667ba827d17dde5fad955f2250bf (diff)
downloadbdl-4d5d49b0d1282df08e3dc7dec3c550c544fbfccb.tar.gz
bdl-4d5d49b0d1282df08e3dc7dec3c550c544fbfccb.zip
Minor styling changes
Diffstat (limited to 'src')
-rw-r--r--src/parser.c37
-rw-r--r--src/parser.h2
2 files changed, 11 insertions, 28 deletions
diff --git a/src/parser.c b/src/parser.c
index 0b62ce4..434ae98 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -191,13 +191,9 @@ parse_paren(Parser *parser) {
191 case TOKEN_MOD: 191 case TOKEN_MOD:
192 case TOKEN_NOT: 192 case TOKEN_NOT:
193 case TOKEN_AND: 193 case TOKEN_AND:
194 case TOKEN_OR: { 194 case TOKEN_OR: { return parse_builtin(parser); } break;
195 return parse_builtin(parser);
196 } break;
197 // Special functions. 195 // Special functions.
198 case TOKEN_DEF: { 196 case TOKEN_DEF: { return parse_def(parser); } break;
199 return parse_def(parser);
200 } break;
201 default: break; 197 default: break;
202 } 198 }
203 199
@@ -210,25 +206,13 @@ Node *
210parse_next(Parser *parser) { 206parse_next(Parser *parser) {
211 Token tok = peek_token(parser); 207 Token tok = peek_token(parser);
212 switch (tok.type) { 208 switch (tok.type) {
213 case TOKEN_NUMBER: { 209 case TOKEN_NUMBER: { return parse_number(parser); } break;
214 return parse_number(parser); 210 case TOKEN_STRING: { return parse_string(parser); } break;
215 } break; 211 case TOKEN_SYMBOL: { return parse_symbol(parser); } break;
216 case TOKEN_STRING: {
217 return parse_string(parser);
218 } break;
219 case TOKEN_SYMBOL: {
220 return parse_symbol(parser);
221 } break;
222 case TOKEN_TRUE: 212 case TOKEN_TRUE:
223 case TOKEN_FALSE: { 213 case TOKEN_FALSE: { return parse_bool(parser); } break;
224 return parse_bool(parser); 214 case TOKEN_LPAREN: { return parse_paren(parser); } break;
225 } break; 215 case TOKEN_EOF: { return NULL; } break;
226 case TOKEN_LPAREN: {
227 return parse_paren(parser);
228 } break;
229 case TOKEN_EOF: {
230 return NULL;
231 } break;
232 default: { 216 default: {
233 push_error(ERR_TYPE_PARSER, ERR_UNKNOWN_TOK_TYPE, tok.line, tok.col); 217 push_error(ERR_TYPE_PARSER, ERR_UNKNOWN_TOK_TYPE, tok.line, tok.col);
234 return NULL; 218 return NULL;
@@ -261,8 +245,7 @@ print_node(Node *node) {
261 } 245 }
262 } break; 246 } break;
263 case NODE_BUILTIN: { 247 case NODE_BUILTIN: {
264 printf("("); 248 printf("({%s}", token_str[node->builtin.type]);
265 printf("{#%s}", token_str[node->builtin.type]);
266 size_t n_args = array_size(node->builtin.args); 249 size_t n_args = array_size(node->builtin.args);
267 if (n_args != 0) { 250 if (n_args != 0) {
268 printf(" "); 251 printf(" ");
@@ -282,7 +265,7 @@ print_node(Node *node) {
282 print_node(node->def.value); 265 print_node(node->def.value);
283 printf(")"); 266 printf(")");
284 } break; 267 } break;
285 default: { printf("{#unk}"); } break; 268 default: { printf("{#unknown#}"); } break;
286 } 269 }
287} 270}
288 271
diff --git a/src/parser.h b/src/parser.h
index de712e1..6a4401e 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -28,7 +28,7 @@ typedef struct Node {
28 size_t fractional; 28 size_t fractional;
29 } number; 29 } number;
30 30
31 // String. 31 // String/symbol.
32 StringView string; 32 StringView string;
33 33
34 // Boolean. 34 // Boolean.