blob: a04ef798fad8d8bed7126c8f29a22d5fb61b37a2 [file] [log] [blame]
swissChili97b5d8b2020-08-15 20:00:54 -07001#pragma once
2
swissChilic3829942020-09-06 19:36:04 -07003#include "map.h"
4
swissChili97b5d8b2020-08-15 20:00:54 -07005#include <stdio.h>
6#include <stdint.h>
swissChilic3829942020-09-06 19:36:04 -07007#include <stdbool.h>
swissChili97b5d8b2020-08-15 20:00:54 -07008
swissChilic3829942020-09-06 19:36:04 -07009#define ERR "\033[31m"
10#define GREEN "\033[32m"
11#define RESET "\033[0m"
12
13char *strtok_fix(char *string, const char *token);
14uint32_t skip_ws(char **code);
15char *parse_label_name(char **code);
16bool ws_end(char **code);
17
18/**
19 * @returns 0 on success, error code otherwise
20 */
21int preproc(char *code, FILE *out, map_t *macros, int flags);
22
23/**
swissChili97b5d8b2020-08-15 20:00:54 -070024 * @returns NULL on failure, printing info to stderr
25 */
26uint32_t assemble(char *code, FILE *out);