Compare commits
37 Commits
align-js-r
...
master
Author | SHA1 | Date |
---|---|---|
jasder | 6ea283bf56 | |
jasder | 58ef8f982c | |
jasder | 9dec2f1756 | |
jasder | 041c4872f4 | |
jasder | 6e3aceb580 | |
jasder | 1616316694 | |
jasder | 59fb219eca | |
jasder | 96b2c56d39 | |
jasder | 2b797f1833 | |
jasder | 574f5f280b | |
Terence Parr | 6255420440 | |
Alexander Bigerl | d5e8ada699 | |
Alexander Bigerl | 49cf9d4fe2 | |
Terence Parr | e404d26f61 | |
Matthew Paletta | f901c8d39a | |
Terence Parr | 478e46409e | |
Mike Lischke | 4b4ca4058a | |
Terence Parr | 697074c3e9 | |
Terence Parr | b71f6894c7 | |
Terence Parr | eec33c5210 | |
Terence Parr | 765de17f2a | |
Terence Parr | c254f00921 | |
Alexander Bigerl | 6a46c1dcb0 | |
Alexander Bigerl | 3238961241 | |
b1f6c1c4 | e6023b7555 | |
b1f6c1c4 | 0172e8661f | |
Terence Parr | 4dfacf63e2 | |
Andrei DAMIAN | e7bdb71a28 | |
ericvergnaud | 3590d4d5e1 | |
Jiri Slaby | 5a808b470e | |
Jiri Slaby | ac10e7bb79 | |
Alexander Bigerl | ed2631b2d0 | |
Alexander Bigerl | d2bc3a5cde | |
Alexander Bigerl | 680a42e023 | |
Matthew Paletta | 3b3da29d45 | |
Matthew Paletta | 6e3d900c96 | |
Matthew Paletta | 0daa97a5f0 |
|
@ -269,6 +269,7 @@ YYYY/MM/DD, github id, Full name, email
|
||||||
2020/06/02, cohomology, Kilian Kilger, kkilger AT gmail.com
|
2020/06/02, cohomology, Kilian Kilger, kkilger AT gmail.com
|
||||||
2020/06/04, IohannRabeson, Iohann Rabeson, iotaka6@gmail.com
|
2020/06/04, IohannRabeson, Iohann Rabeson, iotaka6@gmail.com
|
||||||
2020/06/04, sigmasoldi3r, Pablo Blanco, pablobc.1995@gmail.com
|
2020/06/04, sigmasoldi3r, Pablo Blanco, pablobc.1995@gmail.com
|
||||||
|
2020/06/15, mattpaletta, Matthew Paletta, mattpaletta@gmail.com
|
||||||
2020/07/01, sha-N, Shan M Mathews, admin@bluestarqatar.com
|
2020/07/01, sha-N, Shan M Mathews, admin@bluestarqatar.com
|
||||||
2020/08/22, stevenjohnstone, Steven Johnstone, steven.james.johnstone@gmail.com
|
2020/08/22, stevenjohnstone, Steven Johnstone, steven.james.johnstone@gmail.com
|
||||||
2020/09/06, ArthurSonzogni, Sonzogni Arthur, arthursonzogni@gmail.com
|
2020/09/06, ArthurSonzogni, Sonzogni Arthur, arthursonzogni@gmail.com
|
||||||
|
@ -286,7 +287,10 @@ YYYY/MM/DD, github id, Full name, email
|
||||||
2020/12/03, electrum, David Phillips, david@acz.org
|
2020/12/03, electrum, David Phillips, david@acz.org
|
||||||
2021/01/25, l215884529, Qiheng Liu, 13607681+l215884529@users.noreply.github.com
|
2021/01/25, l215884529, Qiheng Liu, 13607681+l215884529@users.noreply.github.com
|
||||||
2021/02/02, tsotnikov, Taras Sotnikov, taras.sotnikov@gmail.com
|
2021/02/02, tsotnikov, Taras Sotnikov, taras.sotnikov@gmail.com
|
||||||
|
2021/02/10, jirislaby, Jiri Slaby, jirislaby@gmail.com
|
||||||
2021/02/21, namasikanam, Xingyu Xie, namasikanam@gmail.com
|
2021/02/21, namasikanam, Xingyu Xie, namasikanam@gmail.com
|
||||||
2021/02/27, khmarbaise, Karl Heinz Marbaise, github@soebes.com
|
2021/02/27, khmarbaise, Karl Heinz Marbaise, github@soebes.com
|
||||||
2021/03/02, hackeris
|
2021/03/02, hackeris
|
||||||
2021/03/03, xTachyon, Damian Andrei, xTachyon@users.noreply.github.com
|
2021/03/03, xTachyon, Damian Andrei, xTachyon@users.noreply.github.com
|
||||||
|
2021/04/07, b1f6c1c4, Jinzheng Tu, b1f6c1c4@gmail.com
|
||||||
|
2021/04/24, bigerl, Alexander Bigerl, alexander [äät] bigerl [pkt] eu
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
dsdfewrfff
|
||||||
|
function d(){
|
||||||
|
dsflsfks;lfksldf
|
||||||
|
}
|
|
@ -112,7 +112,7 @@ else()
|
||||||
EXCLUDE_FROM_ALL 1)
|
EXCLUDE_FROM_ALL 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Seperate build step as rarely people want both
|
# Separate build step as rarely people want both
|
||||||
set(ANTLR4_BUILD_DIR ${ANTLR4_ROOT})
|
set(ANTLR4_BUILD_DIR ${ANTLR4_ROOT})
|
||||||
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0")
|
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0")
|
||||||
# CMake 3.14 builds in above's SOURCE_SUBDIR when BUILD_IN_SOURCE is true
|
# CMake 3.14 builds in above's SOURCE_SUBDIR when BUILD_IN_SOURCE is true
|
||||||
|
|
|
@ -1,19 +1,3 @@
|
||||||
|
|
||||||
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
|
|
||||||
|
|
||||||
set(THIRDPARTY_DIR ${CMAKE_BINARY_DIR}/runtime/thirdparty)
|
|
||||||
set(UTFCPP_DIR ${THIRDPARTY_DIR}/utfcpp)
|
|
||||||
ExternalProject_Add(
|
|
||||||
utfcpp
|
|
||||||
GIT_REPOSITORY "git://github.com/nemtrif/utfcpp"
|
|
||||||
GIT_TAG "v3.1.1"
|
|
||||||
SOURCE_DIR ${UTFCPP_DIR}
|
|
||||||
UPDATE_DISCONNECTED 1
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${UTFCPP_DIR}/install -Dgtest_force_shared_crt=ON
|
|
||||||
TEST_AFTER_INSTALL 1
|
|
||||||
STEP_TARGETS build)
|
|
||||||
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${PROJECT_SOURCE_DIR}/runtime/src
|
${PROJECT_SOURCE_DIR}/runtime/src
|
||||||
${PROJECT_SOURCE_DIR}/runtime/src/atn
|
${PROJECT_SOURCE_DIR}/runtime/src/atn
|
||||||
|
@ -23,8 +7,6 @@ include_directories(
|
||||||
${PROJECT_SOURCE_DIR}/runtime/src/tree
|
${PROJECT_SOURCE_DIR}/runtime/src/tree
|
||||||
${PROJECT_SOURCE_DIR}/runtime/src/tree/pattern
|
${PROJECT_SOURCE_DIR}/runtime/src/tree/pattern
|
||||||
${PROJECT_SOURCE_DIR}/runtime/src/tree/xpath
|
${PROJECT_SOURCE_DIR}/runtime/src/tree/xpath
|
||||||
${UTFCPP_DIR}/install/include/utf8cpp
|
|
||||||
${UTFCPP_DIR}/install/include/utf8cpp/utf8
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,8 +32,48 @@ add_custom_target(make_lib_output_dir ALL
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${LIB_OUTPUT_DIR}
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${LIB_OUTPUT_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(antlr4_shared make_lib_output_dir utfcpp)
|
add_dependencies(antlr4_shared make_lib_output_dir)
|
||||||
add_dependencies(antlr4_static make_lib_output_dir utfcpp)
|
add_dependencies(antlr4_static make_lib_output_dir)
|
||||||
|
|
||||||
|
find_package(utf8cpp QUIET)
|
||||||
|
|
||||||
|
set(INSTALL_utf8cpp FALSE)
|
||||||
|
|
||||||
|
if (utf8cpp_FOUND)
|
||||||
|
target_link_libraries(antlr4_shared utf8cpp)
|
||||||
|
target_link_libraries(antlr4_static utf8cpp)
|
||||||
|
else()
|
||||||
|
|
||||||
|
# older utf8cpp doesn't define the package above
|
||||||
|
find_path(utf8cpp_HEADER utf8.h
|
||||||
|
PATH_SUFFIXES utf8cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
if (utf8cpp_HEADER)
|
||||||
|
include_directories(${utf8cpp_HEADER})
|
||||||
|
else()
|
||||||
|
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
|
||||||
|
set(THIRDPARTY_DIR ${CMAKE_BINARY_DIR}/runtime/thirdparty)
|
||||||
|
set(UTFCPP_DIR ${THIRDPARTY_DIR}/utfcpp)
|
||||||
|
ExternalProject_Add(
|
||||||
|
utf8cpp
|
||||||
|
GIT_REPOSITORY "git://github.com/nemtrif/utfcpp"
|
||||||
|
GIT_TAG "v3.1.1"
|
||||||
|
SOURCE_DIR ${UTFCPP_DIR}
|
||||||
|
UPDATE_DISCONNECTED 1
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${UTFCPP_DIR}/install -DUTF8_TESTS=off -DUTF8_SAMPLES=off
|
||||||
|
STEP_TARGETS build)
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
${UTFCPP_DIR}/install/include/utf8cpp
|
||||||
|
${UTFCPP_DIR}/install/include/utf8cpp/utf8
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(antlr4_shared utf8cpp)
|
||||||
|
add_dependencies(antlr4_static utf8cpp)
|
||||||
|
set(INSTALL_utf8cpp TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||||
target_link_libraries(antlr4_shared ${UUID_LIBRARIES})
|
target_link_libraries(antlr4_shared ${UUID_LIBRARIES})
|
||||||
|
@ -131,13 +153,15 @@ install(DIRECTORY "${PROJECT_SOURCE_DIR}/runtime/src/"
|
||||||
FILES_MATCHING PATTERN "*.h"
|
FILES_MATCHING PATTERN "*.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
install(FILES "${UTFCPP_DIR}/source/utf8.h"
|
if (INSTALL_utf8cpp)
|
||||||
DESTINATION "include/antlr4-runtime")
|
install(FILES "${UTFCPP_DIR}/source/utf8.h"
|
||||||
install(DIRECTORY "${UTFCPP_DIR}/source/utf8"
|
DESTINATION "include/antlr4-runtime")
|
||||||
DESTINATION "include/antlr4-runtime"
|
install(DIRECTORY "${UTFCPP_DIR}/source/utf8"
|
||||||
COMPONENT dev
|
DESTINATION "include/antlr4-runtime"
|
||||||
FILES_MATCHING PATTERN "*.h"
|
COMPONENT dev
|
||||||
)
|
FILES_MATCHING PATTERN "*.h"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <bitset>
|
#include <bitset>
|
||||||
#include <condition_variable>
|
#include <condition_variable>
|
||||||
#include <functional>
|
|
||||||
|
|
||||||
#ifndef USE_UTF8_INSTEAD_OF_CODECVT
|
#ifndef USE_UTF8_INSTEAD_OF_CODECVT
|
||||||
#include <codecvt>
|
#include <codecvt>
|
||||||
|
|
|
@ -65,16 +65,26 @@ struct ANTLR4CPP_PUBLIC Any
|
||||||
return derived->value;
|
return derived->value;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class U>
|
template<class U, typename std::enable_if<std::is_copy_constructible<U>::value || std::is_copy_assignable<U>::value>::value>
|
||||||
operator U() {
|
operator U() {
|
||||||
return as<StorageType<U>>();
|
return as<StorageType<U>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class U>
|
template<class U, typename std::enable_if<(!std::is_copy_constructible<U>::value && !std::is_copy_assignable<U>::value) && (std::is_move_constructible<U>::value || std::is_move_assignable<U>::value)>::value>
|
||||||
|
operator U() {
|
||||||
|
return std::move(as<StorageType<U>>());
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class U, typename std::enable_if<std::is_copy_constructible<U>::value || std::is_copy_assignable<U>::value>::value>
|
||||||
operator const U() const {
|
operator const U() const {
|
||||||
return as<const StorageType<U>>();
|
return as<const StorageType<U>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<class U, typename std::enable_if<!(!std::is_copy_constructible<U>::value && !std::is_copy_assignable<U>::value) && (std::is_move_constructible<U>::value || std::is_move_assignable<U>::value)>::value>
|
||||||
|
operator const U() const {
|
||||||
|
return std::move(as<const StorageType<U>>());
|
||||||
|
}
|
||||||
|
|
||||||
Any& operator = (const Any& a) {
|
Any& operator = (const Any& a) {
|
||||||
if (_ptr == a._ptr)
|
if (_ptr == a._ptr)
|
||||||
return *this;
|
return *this;
|
||||||
|
@ -99,7 +109,7 @@ struct ANTLR4CPP_PUBLIC Any
|
||||||
|
|
||||||
virtual ~Any();
|
virtual ~Any();
|
||||||
|
|
||||||
virtual bool equals(Any other) const {
|
virtual bool equals(const Any& other) const {
|
||||||
return _ptr == other._ptr;
|
return _ptr == other._ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -202,12 +202,6 @@ namespace antlrcpp {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------- FinallyAction ------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
FinalAction finally(std::function<void ()> f) {
|
|
||||||
return FinalAction(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------- SingleWriteMultipleRead --------------------------------------------------------------------------
|
//----------------- SingleWriteMultipleRead --------------------------------------------------------------------------
|
||||||
|
|
||||||
void SingleWriteMultipleReadLock::readLock() {
|
void SingleWriteMultipleReadLock::readLock() {
|
||||||
|
|
|
@ -19,8 +19,9 @@ namespace antlrcpp {
|
||||||
std::string indent(const std::string &s, const std::string &indentation, bool includingFirst = true);
|
std::string indent(const std::string &s, const std::string &indentation, bool includingFirst = true);
|
||||||
|
|
||||||
// Using RAII + a lambda to implement a "finally" replacement.
|
// Using RAII + a lambda to implement a "finally" replacement.
|
||||||
|
template <typename OnEnd>
|
||||||
struct FinalAction {
|
struct FinalAction {
|
||||||
FinalAction(std::function<void ()> f) : _cleanUp { f } {}
|
FinalAction(OnEnd f) : _cleanUp { std::move(f) } {}
|
||||||
FinalAction(FinalAction &&other) :
|
FinalAction(FinalAction &&other) :
|
||||||
_cleanUp(std::move(other._cleanUp)), _enabled(other._enabled) {
|
_cleanUp(std::move(other._cleanUp)), _enabled(other._enabled) {
|
||||||
other._enabled = false; // Don't trigger the lambda after ownership has moved.
|
other._enabled = false; // Don't trigger the lambda after ownership has moved.
|
||||||
|
@ -29,11 +30,14 @@ namespace antlrcpp {
|
||||||
|
|
||||||
void disable() { _enabled = false; }
|
void disable() { _enabled = false; }
|
||||||
private:
|
private:
|
||||||
std::function<void ()> _cleanUp;
|
OnEnd _cleanUp;
|
||||||
bool _enabled {true};
|
bool _enabled {true};
|
||||||
};
|
};
|
||||||
|
|
||||||
ANTLR4CPP_PUBLIC FinalAction finally(std::function<void ()> f);
|
template <typename OnEnd>
|
||||||
|
FinalAction<OnEnd> finally(OnEnd f) {
|
||||||
|
return FinalAction<OnEnd>(std::move(f));
|
||||||
|
}
|
||||||
|
|
||||||
// Convenience functions to avoid lengthy dynamic_cast() != nullptr checks in many places.
|
// Convenience functions to avoid lengthy dynamic_cast() != nullptr checks in many places.
|
||||||
template <typename T1, typename T2>
|
template <typename T1, typename T2>
|
||||||
|
|
Loading…
Reference in New Issue