Skip to content

Commit bc84ae1

Browse files
Merge pull request #1 from KazumaProject/feature/a-star-algorithm
implement a star algorithm
2 parents 75068a5 + bf0bc08 commit bc84ae1

File tree

6 files changed

+1206
-12
lines changed

6 files changed

+1206
-12
lines changed

CMakeLists.txt

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
2121
endif()
2222

2323
# ---- mozc fetch tool ----
24-
# NOTE: In some environments CMake may resolve CURL::libcurl to a static libcurl
25-
# that requires additional transitive system libraries. Make the fetch tool
26-
# opt-in so the rest of the project can build cleanly.
2724
option(BUILD_MOZC_FETCH "Build mozc_dic_fetch (requires a fully linkable libcurl)" OFF)
2825
if(BUILD_MOZC_FETCH)
2926
find_package(CURL REQUIRED)
@@ -36,7 +33,6 @@ endif()
3633
# -----------------------------
3734
# Dictionary builder libs
3835
# -----------------------------
39-
4036
add_library(louds_utf16 STATIC
4137
src/dictionary_builder/louds_builder/prefix_tree/prefix_tree_utf16.cpp
4238
src/dictionary_builder/louds_builder/prefix_tree_with_term_id/prefix_tree_with_term_id_utf16.cpp
@@ -52,15 +48,15 @@ target_include_directories(louds_utf16 PUBLIC
5248
${CMAKE_CURRENT_SOURCE_DIR}/src/dictionary_builder/louds_builder
5349
)
5450

55-
# ConnectionIdBuilder (new)
51+
# ConnectionIdBuilder
5652
add_library(connection_id STATIC
5753
src/dictionary_builder/connection_id/connection_id_builder.cpp
5854
)
5955
target_include_directories(connection_id PUBLIC
6056
${CMAKE_CURRENT_SOURCE_DIR}/src/dictionary_builder
6157
)
6258

63-
# TokenArray (posting lists keyed by yomi termId)
59+
# TokenArray
6460
add_library(token_array STATIC
6561
src/dictionary_builder/token_array/token_array.cpp
6662
)
@@ -71,26 +67,51 @@ target_include_directories(token_array PUBLIC
7167
target_link_libraries(token_array PUBLIC louds_utf16)
7268

7369
# -----------------------------
74-
# Dictionary builder executable
70+
# GraphBuilder (NEW)
7571
# -----------------------------
72+
add_library(graph_builder STATIC
73+
src/graph_builder/graph.cpp
74+
)
75+
target_include_directories(graph_builder PUBLIC
76+
${CMAKE_CURRENT_SOURCE_DIR}/src
77+
${CMAKE_CURRENT_SOURCE_DIR}/src/dictionary_builder
78+
${CMAKE_CURRENT_SOURCE_DIR}/src/dictionary_builder/louds_builder
79+
)
80+
target_link_libraries(graph_builder PUBLIC
81+
token_array
82+
louds_utf16
83+
)
7684

85+
# -----------------------------
86+
# Path algorithm (NEW)
87+
# -----------------------------
88+
add_library(path_algorithm STATIC
89+
src/path_algorithm/find_path.cpp
90+
)
91+
target_include_directories(path_algorithm PUBLIC
92+
${CMAKE_CURRENT_SOURCE_DIR}/src
93+
)
94+
target_link_libraries(path_algorithm PUBLIC
95+
graph_builder
96+
)
97+
98+
# -----------------------------
99+
# Dictionary builder executable
100+
# -----------------------------
77101
add_executable(dictionary_builder
78102
src/dictionary_builder/dictionary_builder.cpp
79103
)
80-
81104
target_link_libraries(dictionary_builder PRIVATE
82105
louds_utf16
83106
connection_id
84107
)
85108

86109
# -----------------------------
87-
# Tries + TokenArray builder (Kotlin buildTriesAndTokenArray equivalent)
110+
# Tries + TokenArray builder
88111
# -----------------------------
89-
90112
add_executable(tries_token_builder
91113
src/dictionary_builder/tries_token_builder.cpp
92114
)
93-
94115
target_link_libraries(tries_token_builder PRIVATE
95116
louds_utf16
96117
token_array
@@ -99,7 +120,6 @@ target_link_libraries(tries_token_builder PRIVATE
99120
# -----------------------------
100121
# CLI
101122
# -----------------------------
102-
103123
add_executable(cps_cli cli/louds/cps_cli.cpp)
104124
target_link_libraries(cps_cli PRIVATE louds_utf16)
105125

@@ -108,3 +128,13 @@ target_link_libraries(termid_cli PRIVATE louds_utf16)
108128

109129
add_executable(prefix_predict_cli cli/kana_kanji/prefix_predict_cli.cpp)
110130
target_link_libraries(prefix_predict_cli PRIVATE token_array)
131+
132+
# N-best kana-kanji conversion CLI (NEW)
133+
add_executable(astar_bunsetsu_cli cli/kana_kanji/astar_bunsetsu_cli.cpp)
134+
target_link_libraries(astar_bunsetsu_cli PRIVATE
135+
louds_utf16
136+
token_array
137+
connection_id
138+
graph_builder
139+
path_algorithm
140+
)

0 commit comments

Comments
 (0)