diff --git a/assembler/src/conversion/analyzer.c b/assembler/src/conversion/analyzer.c index 1d2c8eb..fc63859 100644 --- a/assembler/src/conversion/analyzer.c +++ b/assembler/src/conversion/analyzer.c @@ -18,7 +18,7 @@ static void analyzer_fatal_error(Analyzer *analyzer, const char *err_msg) { } static const operator_t *_get_op_by_name(char *operator) { - for (int i = 0; i < NUM_OPERATORS; i++) { + for (unsigned int i = 0; i < NUM_OPERATORS; i++) { if (!strcmp(OPERATORS[i].name, operator)) { return &OPERATORS[i]; } @@ -319,8 +319,8 @@ static uint16_t _analyzer_convert_form3(Analyzer *analyzer, const unsigned short // Argument was an immediate if (imm) { - inst = inst << 7; // Move over register bits to make room for immediate - inst = inst | (opcodes[0] << 11); // Add the opcode + inst = inst << 7; // Move over register bits to make room for immediate + inst = inst | (opcodes[0] << 11); // Add the opcode inst = inst | (immediate & 0x1FF); // Add the immediate to the end // Check that instruction closes with ] diff --git a/assembler/src/conversion/analyzer.h b/assembler/src/conversion/analyzer.h index 3424a86..e99dea2 100644 --- a/assembler/src/conversion/analyzer.h +++ b/assembler/src/conversion/analyzer.h @@ -7,7 +7,7 @@ /* Register bit fields */ typedef struct ASMRegister { - char *name; + const char *name; unsigned int bitfield; } asm_register; diff --git a/assembler/src/conversion/identifiers.c b/assembler/src/conversion/identifiers.c index 6a9e418..e28a7a5 100644 --- a/assembler/src/conversion/identifiers.c +++ b/assembler/src/conversion/identifiers.c @@ -71,7 +71,7 @@ void lookup_tree_destruct(ident_node_t *root) { ident_node_t *lookup_tree_construct(TokenList *list) { ident_node_t *root = NULL; unsigned long current_pos = 0; - for (int i = 0; i < list->length; i++) { + for (unsigned int i = 0; i < list->length; i++) { Token *t = list->tokens[i]; switch (t->type) { diff --git a/assembler/src/conversion/instructions.c b/assembler/src/conversion/instructions.c index bfcbf40..e51acf1 100644 --- a/assembler/src/conversion/instructions.c +++ b/assembler/src/conversion/instructions.c @@ -37,7 +37,7 @@ void instruction_list_append(InstructionList *list, uint16_t instruction) { uint16_t *new_arr = malloc(sizeof(uint16_t) * list->__capacity); // Copy over tokens - for (int i = 0; i < list->length; i++) { + for (unsigned int i = 0; i < list->length; i++) { new_arr[i] = list->instructions[i]; } @@ -56,7 +56,7 @@ uint16_t instruction_list_get(InstructionList *list, int index) { index = list->length + index; } - if (!(index < list->length) || index < 0) { + if (!((unsigned)index < list->length) || index < 0) { return -1; } return list->instructions[index]; diff --git a/assembler/src/conversion/lexer.c b/assembler/src/conversion/lexer.c index c166710..7b67558 100644 --- a/assembler/src/conversion/lexer.c +++ b/assembler/src/conversion/lexer.c @@ -94,7 +94,7 @@ static bool is_operator(char *ident) { bool lexer_eof(Lexer *lexer) { return lexer->character == EOF; } static void lexer_fatal_error(Lexer *lexer, const char *err_msg) { - char *format_string = "%s:%lu:%lu: error: %s\n\tcharacter: '%c'\n"; + const char *format_string = "%s:%lu:%lu: error: %s\n\tcharacter: '%c'\n"; if (lexer->character > ' ' || lexer->character < '~') { format_string = "%s:%lu:%lu: error: %s\n\tcharacter: 0x%x (ascii)\n"; } @@ -202,7 +202,7 @@ static char *_lexer_read_decimal_literal(Lexer *lexer) { } static char *_lexer_read_numeric_literal(Lexer *lexer, token_t *type) { - // Initial read to determine literal type + // Initial read to determine literal type _lexer_read_char(lexer); if (lexer->character == '0' && _lexer_peek(lexer) == 'b') { diff --git a/assembler/src/conversion/tokens.c b/assembler/src/conversion/tokens.c index a773187..5ce01c2 100644 --- a/assembler/src/conversion/tokens.c +++ b/assembler/src/conversion/tokens.c @@ -63,7 +63,7 @@ TokenList *token_list_construct(unsigned long length) { } void token_list_destruct(TokenList *list) { - for (int i = 0; i < list->length; i++) { + for (unsigned int i = 0; i < list->length; i++) { free(list->tokens[i]); } free(list); @@ -75,7 +75,7 @@ void token_list_append(TokenList *list, Token *token) { Token **new_arr = malloc(sizeof(Token *) * list->__capacity); // Copy over tokens - for (int i = 0; i < list->length; i++) { + for (unsigned int i = 0; i < list->length; i++) { new_arr[i] = list->tokens[i]; } @@ -98,7 +98,7 @@ Token *token_list_get(TokenList *list, int index) { index = list->length + index; } - if (!(index < list->length) || index < 0) { + if (!((unsigned int)index < list->length) || index < 0) { return NULL; } return list->tokens[index]; @@ -165,7 +165,7 @@ bool is_conditional(char *ident) { return false; } -unsigned int _condition_code(char *cc) { +unsigned int _condition_code(const char *cc) { for (unsigned int i = 0; i < NUM_CONDITION_CODES; i++) { if (!strcmp(cc, CONDITION_CODES[i])) { return i; diff --git a/assembler/src/conversion/tokens.h b/assembler/src/conversion/tokens.h index 2cdcb5e..8ef8502 100644 --- a/assembler/src/conversion/tokens.h +++ b/assembler/src/conversion/tokens.h @@ -5,7 +5,7 @@ typedef enum OperatorForm { Form1, Form2, Form3, Form4, Form5, FormStack, FormEquiv } form_t; typedef struct Operator { - char *name; + const char *name; unsigned short int raw[3]; form_t form; } operator_t; @@ -66,5 +66,5 @@ void string_to_uppercase(char *string); /* Operator classification */ bool is_conditional(char *ident); -unsigned int _condition_code(char *cc); +unsigned int _condition_code(const char *cc); #endif // _TOKENS_H_ diff --git a/assembler/src/main.c b/assembler/src/main.c index 3d45f4e..bbdeaac 100644 --- a/assembler/src/main.c +++ b/assembler/src/main.c @@ -2,7 +2,6 @@ #include "conversion/analyzer.h" #include "conversion/instructions.h" #include "conversion/lexer.h" -#include #include #include diff --git a/assembler/tests/test.c b/assembler/tests/test.c index 92f100f..08b543d 100644 --- a/assembler/tests/test.c +++ b/assembler/tests/test.c @@ -64,7 +64,7 @@ int main(int argc, char *argv[]) { pass_count += result.success; test_result_display(result); } - printf("\nTESTS PASSED: %d/%lld\n", pass_count, array_len(TEST_CASES)); + printf("\nTESTS PASSED: %d/%ld\n", pass_count, array_len(TEST_CASES)); if (pass_count != array_len(TEST_CASES)) return EXIT_FAILURE;