From 91866492fe390bd6248e0079e6bfda1c4ec5f462 Mon Sep 17 00:00:00 2001 From: ArthurSonzogni Date: Sun, 15 Nov 2020 22:40:15 +0100 Subject: [PATCH] Various changes. --- src/CMakeLists.txt | 30 +++++++++++++----------------- src/http/index.html | 7 +++++-- src/http/style.css | 8 +++----- src/main_webassembly.cpp | 8 ++++++++ src/translator/grammar/Grammar.cpp | 4 +--- 5 files changed, 30 insertions(+), 27 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c051696..e1873de 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -38,15 +38,11 @@ if (Web) # Emscripten options string(APPEND CMAKE_CXX_FLAGS " -Os") string(APPEND CMAKE_CXX_FLAGS " -s WASM=1") - string(APPEND CMAKE_CXX_FLAGS " -s DEMANGLE_SUPPORT=1") - string(APPEND CMAKE_CXX_FLAGS " --js-opts 3") - string(APPEND CMAKE_CXX_FLAGS " --llvm-lto 3") - string(APPEND CMAKE_CXX_FLAGS " --llvm-opts 3") string(APPEND CMAKE_CXX_FLAGS " -s ASSERTIONS=2") string(APPEND CMAKE_CXX_FLAGS " --closure 1") string(APPEND CMAKE_CXX_FLAGS " --no-heap-copy") - string(APPEND CMAKE_CXX_FLAGS " -s EXPORTED_FUNCTIONS='[\"_translate\", \"_main\"]'") + string(APPEND CMAKE_CXX_FLAGS " -s EXPORTED_FUNCTIONS='[\"_translate\", \"_main\", \"_API\"]'") string(APPEND CMAKE_CXX_FLAGS " -s EXTRA_EXPORTED_RUNTIME_METHODS='[\"ccall\",\"cwrap\"]'") option(ADD_GOOGLE_ANALYTICS "Build the static library" ON) @@ -73,23 +69,23 @@ if (Web) ${CMAKE_CURRENT_BINARY_DIR}/run_web_server.sh COPYONLY) - add_executable(main + add_executable(diagon main_webassembly.cpp translator/Translator.cpp translator/Translator.h translator/Factory.h ) - target_set_common(main) - target_link_libraries(main PUBLIC translator_frame) - target_link_libraries(main PUBLIC translator_grammar) - target_link_libraries(main PUBLIC translator_math) - target_link_libraries(main PUBLIC translator_planar_graph) - target_link_libraries(main PUBLIC translator_sequence) - target_link_libraries(main PUBLIC translator_table) - target_link_libraries(main PUBLIC translator_tree) - target_link_libraries(main PUBLIC screen) - target_link_libraries(main PUBLIC antlr4_static) - target_link_libraries(main PUBLIC kgt::abnf) + target_set_common(diagon) + target_link_libraries(diagon PUBLIC translator_frame) + target_link_libraries(diagon PUBLIC translator_grammar) + target_link_libraries(diagon PUBLIC translator_math) + target_link_libraries(diagon PUBLIC translator_planar_graph) + target_link_libraries(diagon PUBLIC translator_sequence) + target_link_libraries(diagon PUBLIC translator_table) + target_link_libraries(diagon PUBLIC translator_tree) + target_link_libraries(diagon PUBLIC screen) + target_link_libraries(diagon PUBLIC antlr4_static) + target_link_libraries(diagon PUBLIC kgt::abnf) else() diff --git a/src/http/index.html b/src/http/index.html index 9921abb..bc9a1ea 100644 --- a/src/http/index.html +++ b/src/http/index.html @@ -296,7 +296,9 @@ let withKatex = f => { document.head.appendChild(katex_js); } -let translate = function(){}; +let translate = function() {}; +let API = function() {} + function UpdateOutput() { errors.value = ''; translate(tools_data[tools.value].tool, input.value, GetOptions()); @@ -340,6 +342,7 @@ async function OnRuntimeInitialized() { UpdateInput(); UpdateOutput(); translate = Module.cwrap('translate', 'void', ['string','string', 'string']); + API = Module.cwrap('API', 'string', []); } function print(text) { @@ -439,5 +442,5 @@ copyOutput.addEventListener("click", async function() { }); - + diff --git a/src/http/style.css b/src/http/style.css index a432e87..408ac90 100644 --- a/src/http/style.css +++ b/src/http/style.css @@ -1,4 +1,5 @@ -@import url('https://fonts.googleapis.com/css2?family=Fira+Code&display=swap'); +@import url('https://fontlibrary.org/face/dejavu-sans-mono'); + div { margin: 0px; padding: 0px; @@ -245,10 +246,7 @@ html, body { /* Application area */ textarea { font-variant-numeric: tabular-nums lining-nums; - font-family: 'Fira Code', monospace; - font-size: 1rem; - line-height: 1.171rem; - letter-spacing:0; + font-family: 'Dejavu Sans Mono', monospace; font-kerning:none; border: none; background-color: transparent; diff --git a/src/main_webassembly.cpp b/src/main_webassembly.cpp index e46ad7e..bbf43c6 100644 --- a/src/main_webassembly.cpp +++ b/src/main_webassembly.cpp @@ -38,3 +38,11 @@ int main(int, const char**) { std::cout << "main_webassembly loaded" << std::endl; return 0; } + +extern "C" const char* API() { + static std::string out; + if (out.size() != 0) + return out.c_str(); + out = "[" + out + "]"; + return out.c_str(); +} diff --git a/src/translator/grammar/Grammar.cpp b/src/translator/grammar/Grammar.cpp index 8cb3f11..35b76e4 100644 --- a/src/translator/grammar/Grammar.cpp +++ b/src/translator/grammar/Grammar.cpp @@ -152,8 +152,6 @@ std::string Grammar::Translate(const std::string& input, FILE* file_write = fopen("/tmp/diagon_grammer.txt", "w"); dup2(fileno(file_write), 1); - kgt::ast_rule* model = nullptr; - // Read string to model. auto string_reader = StringReader(input); @@ -169,7 +167,7 @@ std::string Grammar::Translate(const std::string& input, ? output_function_map[option_output] : kgt::rrutf8_output; - model = input_function(StringReader::Read, &string_reader); + auto* model = input_function(StringReader::Read, &string_reader); output_function(model); // Restore stdout