Skip to content

Commit 5a1a7b7

Browse files
committed
refactoring
1 parent 0f596d3 commit 5a1a7b7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+6464
-5965
lines changed

CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ project(hook
1212
set(CMAKE_C_STANDARD 11)
1313
set(CMAKE_VERBOSE_MAKEFILE OFF)
1414

15-
set(BINARY_DIR ${CMAKE_BINARY_DIR}/../bin)
16-
set(LIBRARY_DIR ${CMAKE_BINARY_DIR}/../lib)
17-
set(PACKAGE_DIR ${CMAKE_BINARY_DIR}/../package)
15+
set(BINARY_DIR "${CMAKE_BINARY_DIR}/../bin")
16+
set(LIBRARY_DIR "${CMAKE_BINARY_DIR}/../lib")
17+
set(PACKAGE_DIR "${CMAKE_BINARY_DIR}/../package")
1818

1919
include_directories(/usr/local/include)
2020
include_directories(include)

cli/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ if(NOT MSVC)
1212
endif()
1313

1414
add_executable(${PROJECT_NAME}
15-
main.c)
15+
"main.c"
16+
)
1617

1718
target_link_directories(${PROJECT_NAME} PRIVATE ${LIBRARY_DIR})
1819

cli/main.c

+18-13
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
//
2-
// The Hook Programming Language
32
// main.c
43
//
4+
// Copyright 2021 The Hook Programming Language Authors.
5+
//
6+
// This file is part of the Hook project.
7+
// For detailed license information, please refer to the LICENSE file
8+
// located in the root directory of this project.
9+
//
510

611
#include <stdarg.h>
712
#include <stdlib.h>
@@ -236,28 +241,28 @@ static inline void dump_bytecode_to_file(HkFunction *fn, const char *filename)
236241

237242
static inline int run_bytecode(HkClosure *cl, ParsedArgs *parsedArgs)
238243
{
239-
HkState state;
240-
hk_state_init(&state, parsedArgs->stackSize);
241-
hk_state_push_closure(&state, cl);
242-
hk_state_push_array(&state, args_array(parsedArgs));
243-
hk_state_call(&state, 1);
244+
HkVM vm;
245+
hk_vm_init(&vm, parsedArgs->stackSize);
246+
hk_vm_push_closure(&vm, cl);
247+
hk_vm_push_array(&vm, args_array(parsedArgs));
248+
hk_vm_call(&vm, 1);
244249
int exitCode = EXIT_FAILURE;
245-
if (hk_state_is_ok(&state))
250+
if (hk_vm_is_ok(&vm))
246251
{
247-
HkValue result = state.stackSlots[state.stackTop];
252+
HkValue result = vm.stackSlots[vm.stackTop];
248253
exitCode = hk_is_int(result) ? (int) hk_as_number(result) : EXIT_SUCCESS;
249-
hk_state_pop(&state);
254+
hk_vm_pop(&vm);
250255
goto end;
251256
}
252-
if (hk_state_is_exit(&state))
257+
if (hk_vm_is_exit(&vm))
253258
{
254-
HkValue result = state.stackSlots[state.stackTop];
259+
HkValue result = vm.stackSlots[vm.stackTop];
255260
hk_assert(hk_is_int(result), "exit code must be an integer");
256261
exitCode = (int) hk_as_number(result);
257-
hk_state_pop(&state);
262+
hk_vm_pop(&vm);
258263
}
259264
end:
260-
hk_state_deinit(&state);
265+
hk_vm_deinit(&vm);
261266
return exitCode;
262267
}
263268

core/CMakeLists.txt

+41-27
Original file line numberDiff line numberDiff line change
@@ -12,59 +12,73 @@ if(NOT MSVC)
1212
endif()
1313

1414
add_library(math_mod SHARED
15-
math.c)
15+
"math.c"
16+
)
1617

1718
add_library(os_mod SHARED
18-
os.c)
19+
"os.c"
20+
)
1921

2022
add_library(io_mod SHARED
21-
io.c)
23+
"io.c"
24+
)
2225

2326
add_library(numbers_mod SHARED
24-
numbers.c)
27+
"numbers.c"
28+
)
2529

2630
add_library(strings_mod SHARED
27-
strings.c)
31+
"strings.c"
32+
)
2833

2934
add_library(arrays_mod SHARED
30-
arrays.c)
35+
"arrays.c"
36+
)
3137

3238
add_library(utf8_mod SHARED
33-
utf8.c)
39+
"utf8.c"
40+
)
3441

3542
add_library(hashing_mod SHARED
36-
hashing.c
37-
deps/crc32.c
38-
deps/crc64.c
39-
deps/md5.c
40-
deps/ripemd160.c
41-
deps/sha1.c
42-
deps/sha2.c
43-
deps/sha3.c)
43+
"hashing.c"
44+
"deps/crc32.c"
45+
"deps/crc64.c"
46+
"deps/md5.c"
47+
"deps/ripemd160.c"
48+
"deps/sha1.c"
49+
"deps/sha2.c"
50+
"deps/sha3.c"
51+
)
4452

4553
add_library(encoding_mod SHARED
46-
encoding.c
47-
deps/ascii85.c
48-
deps/base32.c
49-
deps/base58.c
50-
deps/base64.c)
54+
"encoding.c"
55+
"deps/ascii85.c"
56+
"deps/base32.c"
57+
"deps/base58.c"
58+
"deps/base64.c"
59+
)
5160

5261
add_library(socket_mod SHARED
53-
socket.c)
62+
"socket.c"
63+
)
5464

5565
add_library(json_mod SHARED
56-
json.c
57-
deps/cJSON.c)
66+
"json.c"
67+
"deps/cJSON.c"
68+
)
5869

5970
add_library(lists_mod SHARED
60-
lists.c)
71+
"lists.c"
72+
)
6173

6274
add_library(ini_mod SHARED
63-
ini.c
64-
deps/ini.c)
75+
"ini.c"
76+
"deps/ini.c"
77+
)
6578

6679
add_library(selectors_mod SHARED
67-
selectors.c)
80+
"selectors.c"
81+
)
6882

6983
target_link_libraries(math_mod ${STATIC_LIB_TARGET})
7084
target_link_libraries(os_mod ${STATIC_LIB_TARGET})

0 commit comments

Comments
 (0)