Compare commits

...

3 Commits

Author SHA1 Message Date
William Bell
47db2ca27d fix for winblows 2025-08-18 06:40:59 +01:00
William Bell
2e7b3b4baa fix for winblows 2025-08-18 06:38:30 +01:00
William Bell
24163e3389 fix gmp bug 2025-08-18 06:25:29 +01:00
3 changed files with 21 additions and 3 deletions

View File

@@ -33,8 +33,16 @@ add_custom_command(
# Step 2: Custom target for lexer
add_custom_target(GenerateLexer DEPENDS ${LEXER_C} ${LEXER_H})
set(SOURCES
external/xxhash/xxhash.c external/cwalk/src/cwalk.c external/libdye/src/dye.c ${CFILES} ${LEXER_C}
)
if(NOT WIN32)
list(APPEND SOURCES external/linenoise/linenoise.c)
endif()
# Step 3: Add executable
add_executable(argon external/xxhash/xxhash.c external/cwalk/src/cwalk.c external/libdye/src/dye.c external/linenoise/linenoise.c ${CFILES} ${LEXER_C})
add_executable(argon ${SOURCES})
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
target_include_directories(argon PRIVATE ${CMAKE_SOURCE_DIR}/external/cwalk/include)
target_include_directories(argon PRIVATE ${CMAKE_SOURCE_DIR}/external/libdye/include)

View File

@@ -7,8 +7,6 @@
#include "number.h"
#include "../../memory.h"
#include <ctype.h>
#include <gmp-x86_64.h>
#include <gmp.h>
#include <gmp.h>
#include <stdio.h>
#include <stdlib.h>

View File

@@ -3,7 +3,10 @@
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
#if defined(_WIN32) || defined(_WIN64)
#else
#include "../external/linenoise/linenoise.h"
#endif
#include "./lexer/lexer.h"
#include "./runtime/call/call.h"
#include "./runtime/objects/functions/functions.h"
@@ -96,6 +99,7 @@ int execute_code(FILE *stream, char *path, Stack *scope,
return 0;
}
#if defined(_WIN32) || defined(_WIN64)
// Simple input function
char *input(const char *prompt) {
printf("%s", prompt);
@@ -117,6 +121,7 @@ char *input(const char *prompt) {
return buffer;
}
#endif
char *read_all_stdin(size_t *out_len) {
size_t size = 1024;
@@ -194,7 +199,11 @@ int shell() {
memcpy(prompt, textBefore, strlen(textBefore));
memcpy(prompt + strlen(textBefore), indentStr, isz + 1);
#if defined(_WIN32) || defined(_WIN64)
char *inp = input(prompt);
#else
char *inp = linenoise(prompt);
#endif
free(prompt);
if (!inp) {
@@ -205,10 +214,13 @@ int shell() {
free(indentStr);
return 0;
}
#if defined(_WIN32) || defined(_WIN64)
#else
if (inp[0] != '\0') {
// Optionally add line to history
linenoiseHistoryAdd(inp);
}
#endif
// Append line to totranslate
size_t length = strlen(inp);