update inbox list

This commit is contained in:
manhlab
2021-04-07 19:25:18 -04:00
parent fda7245f7c
commit 436de2efd6
8576 changed files with 1013325 additions and 3 deletions

View File

@@ -0,0 +1,2 @@
<span class="hljs-keyword">double</span> x = <span class="hljs-built_in">exp</span>(<span class="hljs-built_in">log</span>(<span class="hljs-number">2</span>)); <span class="hljs-comment">// recognize built-ins</span>
<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>; <span class="hljs-comment">// recognize keyword that started the expression</span>

View File

@@ -0,0 +1,2 @@
double x = exp(log(2)); // recognize built-ins
return 0; // recognize keyword that started the expression

View File

@@ -0,0 +1,16 @@
<span class="hljs-function"><span class="hljs-keyword">decltype</span>(<span class="hljs-keyword">auto</span>) <span class="hljs-title">look_up_a_string_1</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">return</span> lookup1(); }
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">look_up_a_string_2</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">return</span> lookup2(); }
<span class="hljs-function"><span class="hljs-keyword">friend</span> <span class="hljs-keyword">void</span> <span class="hljs-title">A::showB</span><span class="hljs-params">(B x)</span> </span>{}
<span class="hljs-function"><span class="hljs-keyword">friend</span> <span class="hljs-keyword">void</span> <span class="hljs-title">showB</span><span class="hljs-params">(B x)</span> </span>{}
<span class="hljs-function"><span class="hljs-keyword">friend</span> <span class="hljs-keyword">void</span> <span class="hljs-title">showB</span><span class="hljs-params">(B::SomeType x)</span> </span>{}
<span class="hljs-function"><span class="hljs-keyword">inline</span> <span class="hljs-keyword">int</span> <span class="hljs-title">add</span><span class="hljs-params">(<span class="hljs-keyword">int</span> a, <span class="hljs-keyword">int</span> b)</span> </span>{}
<span class="hljs-function">int8t <span class="hljs-title">Get_Tile_Value</span><span class="hljs-params">()</span> </span>{}
<span class="hljs-function"><span class="hljs-keyword">int8_t</span> <span class="hljs-title">Get_Tile_Value</span><span class="hljs-params">()</span> </span>{}
<span class="hljs-function">B::type <span class="hljs-title">test</span><span class="hljs-params">()</span> </span>{};
<span class="hljs-comment">// template</span>
<span class="hljs-function">boost::optional&lt;application&gt; <span class="hljs-title">handle_key</span><span class="hljs-params">(application state, key_code key, coord size)</span></span>;
test();

View File

@@ -0,0 +1,16 @@
decltype(auto) look_up_a_string_1() { return lookup1(); }
void look_up_a_string_2() { return lookup2(); }
friend void A::showB(B x) {}
friend void showB(B x) {}
friend void showB(B::SomeType x) {}
inline int add(int a, int b) {}
int8t Get_Tile_Value() {}
int8_t Get_Tile_Value() {}
B::type test() {};
// template
boost::optional<application> handle_key(application state, key_code key, coord size);
test();

View File

@@ -0,0 +1,7 @@
<span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">f</span><span class="hljs-params">(
<span class="hljs-keyword">int</span> a = <span class="hljs-number">1</span>,
<span class="hljs-keyword">char</span>* b = <span class="hljs-string">"2"</span>, <span class="hljs-comment">// Line comment</span>
<span class="hljs-keyword">double</span> c = <span class="hljs-number">3.0</span>, <span class="hljs-comment">/* Block comment */</span>
ARRAY(<span class="hljs-keyword">int</span>, <span class="hljs-number">5</span>) d,
<span class="hljs-keyword">void</span>* e __attribute__((unused))
)</span></span>;

View File

@@ -0,0 +1,7 @@
int f(
int a = 1,
char* b = "2", // Line comment
double c = 3.0, /* Block comment */
ARRAY(int, 5) d,
void* e __attribute__((unused))
);

View File

@@ -0,0 +1,9 @@
<span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{
A a = <span class="hljs-keyword">new</span> A();
<span class="hljs-keyword">int</span> b = b * sum(<span class="hljs-number">1</span>, <span class="hljs-number">2</span>);
<span class="hljs-keyword">if</span> (a-&gt;check1())
<span class="hljs-keyword">return</span> <span class="hljs-number">3</span>;
<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (a-&gt;check2())
<span class="hljs-keyword">return</span> <span class="hljs-number">4</span>;
<span class="hljs-keyword">return</span> a-&gt;result();
}

View File

@@ -0,0 +1,9 @@
int main() {
A a = new A();
int b = b * sum(1, 2);
if (a->check1())
return 3;
else if (a->check2())
return 4;
return a->result();
}

View File

@@ -0,0 +1,6 @@
<span class="hljs-comment">/* digit separators */</span>
<span class="hljs-keyword">int</span> number = <span class="hljs-number">2'555'555'555</span>; <span class="hljs-comment">// digit separators</span>
<span class="hljs-keyword">float</span> exponentFloat = <span class="hljs-number">.123'456e3'000</span>; <span class="hljs-comment">// digit separators in floats</span>
<span class="hljs-keyword">float</span> suffixed = <span class="hljs-number">3.000'001'234f</span> <span class="hljs-comment">// digit separators in suffixed numbers</span>
<span class="hljs-keyword">char</span> word[] = { <span class="hljs-string">'3'</span>, <span class="hljs-string">'\0'</span> }; <span class="hljs-comment">// make sure digit separators don't mess up chars</span>
<span class="hljs-keyword">float</span> negative = <span class="hljs-number">-123.0f</span>; <span class="hljs-comment">// negative floating point numbers</span>

View File

@@ -0,0 +1,6 @@
/* digit separators */
int number = 2'555'555'555; // digit separators
float exponentFloat = .123'456e3'000; // digit separators in floats
float suffixed = 3.000'001'234f // digit separators in suffixed numbers
char word[] = { '3', '\0' }; // make sure digit separators don't mess up chars
float negative = -123.0f; // negative floating point numbers

View File

@@ -0,0 +1,4 @@
<span class="hljs-comment">// These will all work:</span>
<span class="hljs-function"><span class="hljs-keyword">char</span>** <span class="hljs-title">foo_bar</span><span class="hljs-params">()</span></span>;
<span class="hljs-function"><span class="hljs-keyword">char</span> ** <span class="hljs-title">foo_bar</span><span class="hljs-params">()</span></span>;
<span class="hljs-function"><span class="hljs-keyword">char</span> **<span class="hljs-title">foo_bar</span><span class="hljs-params">()</span></span>;

View File

@@ -0,0 +1,4 @@
// These will all work:
char** foo_bar();
char ** foo_bar();
char **foo_bar();

View File

@@ -0,0 +1,19 @@
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">&lt;iostream&gt;</span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> foo 1&lt;&lt;16</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">ifdef</span> DEBUG</span>
<span class="hljs-function">TYPE1 <span class="hljs-title">foo</span><span class="hljs-params">(<span class="hljs-keyword">void</span>)</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">else</span></span>
<span class="hljs-keyword">int</span> <span class="hljs-title">foo</span><span class="hljs-params">(<span class="hljs-keyword">void</span>)</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">endif</span></span>
</span>{ }
<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> x(v) ((v))</span>
<span class="hljs-meta"># <span class="hljs-meta-keyword">define</span> x(v) ((v))</span>
<span class="hljs-meta"># <span class="hljs-meta-keyword">define</span> x(v) ((v))</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">if</span> MACRO_WITH_STRING_ARG(<span class="hljs-meta-string">"hello \"world\""</span>)</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">elif</span> MULTI_LINE <span class="hljs-comment">/* comment */</span> &lt; \
EXPRESSION</span>
<span class="hljs-keyword">int</span> bar;
<span class="hljs-meta">#<span class="hljs-meta-keyword">endif</span> <span class="hljs-comment">// comment</span></span>

View File

@@ -0,0 +1,19 @@
#include <iostream>
#define foo 1<<16
#ifdef DEBUG
TYPE1 foo(void)
#else
int foo(void)
#endif
{ }
#define x(v) ((v))
# define x(v) ((v))
# define x(v) ((v))
#if MACRO_WITH_STRING_ARG("hello \"world\"")
#elif MULTI_LINE /* comment */ < \
EXPRESSION
int bar;
#endif // comment

View File

@@ -0,0 +1,3 @@
<span class="hljs-keyword">const</span> <span class="hljs-keyword">uint64_t</span> MAX_INT_64;
<span class="hljs-class"><span class="hljs-keyword">struct</span> <span class="hljs-title">position_tag</span>;</span>

View File

@@ -0,0 +1,3 @@
const uint64_t MAX_INT_64;
struct position_tag;

View File

@@ -0,0 +1,69 @@
<span class="hljs-comment">// Unicode literals</span>
<span class="hljs-keyword">auto</span> str = <span class="hljs-string">"Hello regular string"</span>;
<span class="hljs-keyword">auto</span> utf8 = <span class="hljs-string">u8"Hello utf-8 string"</span>;
<span class="hljs-keyword">auto</span> utf16 = <span class="hljs-string">u"Hello utf-16 string"</span>;
<span class="hljs-keyword">auto</span> utf32 = <span class="hljs-string">U"Hello utf-32 string"</span>;
<span class="hljs-comment">// Wide-character strings</span>
<span class="hljs-keyword">auto</span> wide_char = <span class="hljs-string">L"Hello wchar_t string"</span>;
<span class="hljs-keyword">auto</span> lr = <span class="hljs-string">LR"(Hello
world)"</span>;
<span class="hljs-comment">// character literals</span>
<span class="hljs-keyword">auto</span> wide_char = <span class="hljs-string">L'H'</span>;
<span class="hljs-keyword">auto</span> cr = <span class="hljs-string">'\n'</span>;
<span class="hljs-keyword">auto</span> chr = <span class="hljs-string">'H'</span>;
<span class="hljs-keyword">auto</span> utf8 = <span class="hljs-string">u8'H'</span>;
<span class="hljs-keyword">auto</span> utf16 = <span class="hljs-string">u'H'</span>;
<span class="hljs-keyword">auto</span> utf32 = <span class="hljs-string">U'H'</span>;
<span class="hljs-keyword">auto</span> unicode = <span class="hljs-string">L'\u202e'</span>
<span class="hljs-keyword">auto</span> hex = <span class="hljs-string">'\xFF'</span>
<span class="hljs-keyword">auto</span> octal = <span class="hljs-string">'\123'</span>
<span class="hljs-comment">// Raw string literals (multiline)</span>
<span class="hljs-keyword">auto</span> char_multi = <span class="hljs-string">R"(Hello
"normal"
multiline
string.)"</span>;
<span class="hljs-keyword">auto</span> utf8_multi = <span class="hljs-string">u8R"(Hello
"utf-8"
multiline
string)"</span>;
<span class="hljs-keyword">auto</span> utf16_multi = <span class="hljs-string">uR"(Hello
"utf-16"
multiline
string)"</span>;
<span class="hljs-keyword">auto</span> utf32_multi = <span class="hljs-string">UR"(Hello
"utf-32"
multiline
string)"</span>;
<span class="hljs-comment">// Raw string literals with delimiter (multiline)</span>
<span class="hljs-keyword">auto</span> char_multi = <span class="hljs-string">R"blah1(Hello
"normal"
multiline
)"
)blah"
string.)blah1"</span>;
<span class="hljs-keyword">auto</span> utf8_multi = <span class="hljs-string">u8R"blah2(Hello
"utf-8"
multiline
)"
)blah"
string)blah2"</span>;
<span class="hljs-keyword">auto</span> utf16_multi = <span class="hljs-string">uR"blah3(Hello
"utf-16"
multiline
)"
)blah"
string)blah3"</span>;
<span class="hljs-keyword">auto</span> utf32_multi = <span class="hljs-string">UR"blah4(Hello
"utf-32"
multiline
)"
)blah"
string)blah4"</span>;
<span class="hljs-comment">// Meta strings</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">&lt;stdio&gt;</span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">"lib.h"</span></span>

View File

@@ -0,0 +1,69 @@
// Unicode literals
auto str = "Hello regular string";
auto utf8 = u8"Hello utf-8 string";
auto utf16 = u"Hello utf-16 string";
auto utf32 = U"Hello utf-32 string";
// Wide-character strings
auto wide_char = L"Hello wchar_t string";
auto lr = LR"(Hello
world)";
// character literals
auto wide_char = L'H';
auto cr = '\n';
auto chr = 'H';
auto utf8 = u8'H';
auto utf16 = u'H';
auto utf32 = U'H';
auto unicode = L'\u202e'
auto hex = '\xFF'
auto octal = '\123'
// Raw string literals (multiline)
auto char_multi = R"(Hello
"normal"
multiline
string.)";
auto utf8_multi = u8R"(Hello
"utf-8"
multiline
string)";
auto utf16_multi = uR"(Hello
"utf-16"
multiline
string)";
auto utf32_multi = UR"(Hello
"utf-32"
multiline
string)";
// Raw string literals with delimiter (multiline)
auto char_multi = R"blah1(Hello
"normal"
multiline
)"
)blah"
string.)blah1";
auto utf8_multi = u8R"blah2(Hello
"utf-8"
multiline
)"
)blah"
string)blah2";
auto utf16_multi = uR"blah3(Hello
"utf-16"
multiline
)"
)blah"
string)blah3";
auto utf32_multi = UR"blah4(Hello
"utf-32"
multiline
)"
)blah"
string)blah4";
// Meta strings
#include <stdio>
#include "lib.h"