ladybird/AK
Itamar c96b6987c4 LibCpp: Add the beginning of a C++ parser
This parser will be used by the C++ langauge server to provide better
auto-complete (& maybe also other things in the future).

It is designed to be error tolerant, and keeps track of the position
spans of the AST nodes, which should be useful later for incremental
parsing.
2021-01-27 21:10:57 +01:00
..
Tests Badge: Access to underlying type 2021-01-15 09:44:21 +01:00
AllOf.h AllOf: Common iterator types 2020-12-20 21:13:10 +01:00
AnyOf.h AK: Implement generic any_of algorithm 2021-01-15 09:42:42 +01:00
Array.h AK: Remove redundant compare() functions. 2021-01-02 01:37:22 +01:00
Assertions.h AK+LibC: Add TODO() as an alternative to ASSERT_NOT_REACHED() 2020-05-30 11:31:49 +02:00
Atomic.h Kernel: Add safe atomic functions 2021-01-17 20:30:31 +01:00
Badge.h Badge: Access to underlying type 2021-01-15 09:44:21 +01:00
Base64.cpp AK: Fix base64 decoding '/' 2020-11-22 16:07:00 +01:00
Base64.h Base64: Pre-allocate size of input and output 2020-10-13 23:59:46 +02:00
BinarySearch.h AK: Deal with unsigned integers in binary search. 2021-01-01 22:23:13 +01:00
Bitmap.h Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
BitStream.h AK: Lower the requirements for InputStream::eof and rename it. 2020-09-14 20:58:12 +02:00
Buffered.h AK: Cleanup missing includes and #ifdef evaluation 2020-11-22 11:35:53 +01:00
ByteBuffer.cpp AK: Prevent confusing silent misuse of ByteBuffer 2020-08-22 17:18:14 +02:00
ByteBuffer.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Checked.h Everywhere: Redundant inline specifier on constexpr functions (#3807) 2020-10-20 18:08:13 +02:00
CircularDeque.h AK: Add enqueue_begin() for the CircularDeque class (#1320) 2020-03-02 09:50:43 +01:00
CircularDuplexStream.h AK: Remove bogus test case for CircularDuplexStream. 2020-12-19 23:29:40 +01:00
CircularQueue.h AK: Add CircularDuplexStream class. 2020-08-26 21:07:53 +02:00
CMakeLists.txt CMake: Decouple cmake utility functions from top-level CMakeLists.txt 2020-12-24 11:02:04 +01:00
Concepts.h AK: Pull Is{Integral,FloatingPoint} into the global namespace 2020-12-05 23:52:17 +01:00
Debug.h.in Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
Demangle.h Revert "AK: Don't demangle in serenity :(" 2020-05-20 16:24:26 +02:00
DistinctNumeric.h AK: Prefer using instead of typedef 2020-11-12 10:19:04 +01:00
DoublyLinkedList.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Endian.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
FileStream.h AK+ProtocolServer: Properly close download stream fd's 2020-12-30 20:37:41 +01:00
Find.h AK: Find a value in any container offering iterators 2021-01-11 19:45:05 +01:00
FlyString.cpp AK: Generalize AK::String::to_int() for more types 2020-12-21 00:15:44 +01:00
FlyString.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Format.cpp AK+Format: Add dmesgln() to replace klog(). 2021-01-23 16:46:26 +01:00
Format.h AK+Format: Add dmesgln() to replace klog(). 2021-01-23 16:46:26 +01:00
Forward.h Kernel+Userland: Remove shared buffers (shbufs) 2021-01-17 09:07:32 +01:00
Function.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
GenericLexer.cpp AK: Add GenericLexer::retreat() 2020-10-29 11:52:31 +01:00
GenericLexer.h AK: Add GenericLexer::retreat() 2020-10-29 11:52:31 +01:00
HashFunctions.h HashFunctions: constexpr capability 2020-10-21 19:42:12 +02:00
HashMap.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
HashTable.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Hex.cpp AK: Add {encode,decode}_hex similar to {encode,decode}_base64 2020-12-13 11:00:20 +01:00
Hex.h AK: Add {encode,decode}_hex similar to {encode,decode}_base64 2020-12-13 11:00:20 +01:00
IDAllocator.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
InlineLinkedList.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
IntrusiveList.h AK: Add IntrusiveList::take_last() 2020-11-24 16:37:55 +01:00
IPv4Address.h Everywhere: Replace a bundle of dbg with dbgln. 2021-01-22 22:14:30 +01:00
IterationDecision.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Iterator.h AK: Mark SimpleIterator::operator*() as ALWAYS_INLINE 2020-11-14 17:20:17 +01:00
JsonArray.h AK: Add JsonArray(const Vector<T>) constructor 2021-01-15 23:26:47 +01:00
JsonArraySerializer.h AK+Kernel: Escape JSON keys & values 2020-11-02 12:56:36 +01:00
JsonObject.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
JsonObjectSerializer.h AK+Kernel: Escape JSON keys & values 2020-11-02 12:56:36 +01:00
JsonParser.cpp AK: Make JsonParser::parse_number properly parse >32bit ints 2020-12-21 00:15:44 +01:00
JsonParser.h AK: Remove empty destructor from JsonParser. 2020-09-08 14:01:21 +02:00
JsonPath.cpp Inspector: Expand and show properties in a TreeView 2020-07-01 11:18:19 +02:00
JsonPath.h Inspector: Expand and show properties in a TreeView 2020-07-01 11:18:19 +02:00
JsonValue.cpp AK: Fix JsonValue copy constructor behavior for 64-bit values 2020-07-06 18:38:08 +02:00
JsonValue.h AK+Format: Remove TypeErasedFormatParams& from format function. 2020-12-30 20:33:53 +01:00
kmalloc.h AK: Always include <new> from compiler before our operators new 2020-11-05 09:59:30 +01:00
kstdio.h LibC: Enable compiler warnings for printf format strings 2020-12-26 10:05:50 +01:00
LexicalPath.cpp Meta+AK: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
LexicalPath.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
LogStream.cpp Everywhere: Deprecate dbg(). 2021-01-23 16:46:26 +01:00
LogStream.h Everywhere: Deprecate dbg(). 2021-01-23 16:46:26 +01:00
MACAddress.h Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
MappedFile.cpp LibC+Everywhere: Remove open_with_path_length() in favor of open() 2021-01-12 23:34:01 +01:00
MappedFile.h LibC+Everywhere: Remove open_with_path_length() in favor of open() 2021-01-12 23:34:01 +01:00
MemMem.h AK: Add String{View,}::find(StringView) 2021-01-12 23:36:20 +01:00
Memory.h AK+LibC: Always use REP MOVSB/STOSB for memcpy()/memset() 2020-07-27 15:54:39 +02:00
MemoryStream.h AK: Fix offset calculation error in DuplexMemoryStream::write. 2020-12-09 21:17:24 +01:00
NeverDestroyed.h NeverDestroyed: Add tests 2020-11-22 10:54:33 +01:00
Noncopyable.h Meta: Force semi-colon after MAKE_AK_NONXXXABLE() 2020-08-27 10:12:04 +02:00
NonnullOwnPtr.h AK+Format: Remove TypeErasedFormatParams& from format function. 2020-12-30 20:33:53 +01:00
NonnullOwnPtrVector.h AK: Forward declare Nonnull{Own,Ref}PtrVector 2020-12-08 23:34:38 +01:00
NonnullPtrVector.h AK: Use ALWAYS_INLINE all over NonnullPtrVector 2020-11-23 14:08:50 +01:00
NonnullRefPtr.h AK+Format: Remove TypeErasedFormatParams& from format function. 2020-12-30 20:33:53 +01:00
NonnullRefPtrVector.h AK: Forward declare Nonnull{Own,Ref}PtrVector 2020-12-08 23:34:38 +01:00
NumberFormat.h AK: Use new format functions. 2020-10-08 09:59:55 +02:00
NumericLimits.h AK: Add NumericLimits specialization for char. 2020-09-29 16:14:58 +02:00
Optional.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
OSError.h AK: Add AK::OSError, a wrapper for errno codes 2021-01-10 16:46:13 +01:00
OwnPtr.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Platform.h LibC+Everywhere: Remove open_with_path_length() in favor of open() 2021-01-12 23:34:01 +01:00
PrintfImplementation.h LibC+Everywhere: Remove open_with_path_length() in favor of open() 2021-01-12 23:34:01 +01:00
Queue.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
QuickSort.h AK: Ensure dual_pivot_quick_sort does not copy the pivots 2020-12-10 11:02:02 +01:00
Random.h Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
RefCounted.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
RefPtr.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Result.h AK: Add release_value() and release_error() to AK::Result 2021-01-09 19:57:50 +01:00
ScopedValueRollback.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
ScopeGuard.h Meta+AK: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
ScopeLogger.h LibCpp: Add the beginning of a C++ parser 2021-01-27 21:10:57 +01:00
SIMD.h AK: Add header for SIMD vectorized types 2020-12-08 09:39:43 +01:00
Singleton.h AK: Add static Singleton::get function to allow destructible globals 2021-01-09 21:12:31 +01:00
SinglyLinkedList.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
SinglyLinkedListWithCount.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
SourceGenerator.h LibIPC: Prepend each message with its size 2020-11-23 18:37:40 +01:00
Span.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
StackInfo.cpp LibC+Everywhere: Remove open_with_path_length() in favor of open() 2021-01-12 23:34:01 +01:00
StackInfo.h LibJS+AK: Move cross-platform stack bounds code from JS::Heap to AK::StackInfo 2020-11-08 16:51:54 +01:00
StdLibExtras.h AK: Add tests for type traits and IndexSequence 2020-12-30 11:32:20 +01:00
Stream.h AK: Replace some SFINAE with requires clauses, clean up existing ones 2020-12-30 13:28:49 +01:00
String.cpp AK: Add String{View,}::find(StringView) 2021-01-12 23:36:20 +01:00
String.h AK: Add String::join() helper function 2021-01-15 23:26:47 +01:00
StringBuilder.cpp AK: Add some inline capacity to StringBuilder 2020-11-24 22:06:51 +01:00
StringBuilder.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
StringImpl.cpp Everywhere: Hook up remaining debug macros to Debug.h. 2021-01-25 09:47:36 +01:00
StringImpl.h AK+Format: Remove TypeErasedFormatParams& from format function. 2020-12-30 20:33:53 +01:00
StringUtils.cpp AK: Add String{View,}::find(StringView) 2021-01-12 23:36:20 +01:00
StringUtils.h AK: Add String{View,}::find(StringView) 2021-01-12 23:36:20 +01:00
StringView.cpp StringView: Implement find_first_of in terms of AK::find 2021-01-15 09:42:42 +01:00
StringView.h AK: Add String{View,}::find(StringView) 2021-01-12 23:36:20 +01:00
TemporaryChange.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
TestSuite.h AK: Don't forward declare abort. 2020-10-14 11:29:29 +02:00
Time.cpp AK+LibC+LibCore: Have fewer implementations of day_of_week 2020-08-26 08:52:07 +02:00
Time.h AK: Add CLOCK_*_COARSE aliases for darwin and BSD variants 2020-12-28 19:35:32 +01:00
Traits.h AK: Find a value in any container offering iterators 2021-01-11 19:45:05 +01:00
Trie.h AK: Replace some SFINAE with requires clauses, clean up existing ones 2020-12-30 13:28:49 +01:00
TypeCasts.h AK: Make is<T>(input) use input.fast_is<T>() if available 2021-01-17 14:42:23 +01:00
TypedTransfer.h AK: Moved TypedTransfer into it's own header. 2020-09-09 20:15:50 +02:00
TypeList.h AK: Add missing 'template' keywords in TypeList 2020-12-31 16:16:07 +01:00
Types.h AK: Add default memory order as template argument for Atomic<T> 2021-01-04 19:13:52 +01:00
URL.cpp AK::URL: Fix setting the port number in the case it was the last element of the URL 2020-12-12 20:09:42 +01:00
URL.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
URLParser.cpp AK: Fix urlencode() with high byte values 2020-12-12 23:50:23 +01:00
URLParser.h AK: Add basic percent encoder/decoder (urlencode and urldecode) 2020-06-07 21:05:05 +02:00
Userspace.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Utf8View.cpp AK: Use size_t in methods of Utf8View. 2021-01-02 01:37:22 +01:00
Utf8View.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Utf32View.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
UUID.cpp AK: Add the UUID container 2021-01-01 22:59:48 +01:00
UUID.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Vector.h AK: Add Vector::remove overload for removing entire ranges 2021-01-17 20:30:31 +01:00
Weakable.h Everywhere: Hook up remaining debug macros to Debug.h. 2021-01-25 09:47:36 +01:00
WeakPtr.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00