Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull in changes from Lua 5.5 #696

Draft
wants to merge 158 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
e7e17c4
Bump version
Sainan Mar 26, 2024
bdc6ac0
Add assert.contains
well-in-that-case Apr 7, 2024
645162d
Add compilation error testing to suite
well-in-that-case Apr 20, 2024
bc397d0
Improve error message for missing table field delimiters
well-in-that-case Apr 17, 2024
c808010
Add aligned multi-line notes to Pluto::ErrorMessage::addNote
well-in-that-case Apr 7, 2024
99fb1dc
Mandate usage of $else and $end for $if statement
Sainan Apr 13, 2024
0efae4b
Specialize block skipping logic for constexprifstat
Sainan Apr 13, 2024
3d00a6e
Automatically disable keywords used as identifiers
Sainan Apr 13, 2024
54df2a0
Allow environment to explicitly enable keywords, preventing auto-dete…
Sainan Apr 13, 2024
ac40cd2
More concise error message
well-in-that-case Apr 14, 2024
396880d
Tell the user where the keyword was intelligently disabled (due to id…
well-in-that-case Apr 15, 2024
e942916
Add bigint.eq, bigint.lt, & bigint.le
Sainan Apr 15, 2024
f908ff5
Add crypto.exportkey & crypto.importkey with PEM format
Sainan Apr 15, 2024
8875b97
Remove ternary if expressions
well-in-that-case Apr 17, 2024
e58f281
Add socket.getpeer
Sainan Apr 17, 2024
318e8b8
Require $define statement to have a righthand side
Sainan Apr 21, 2024
95b0a29
Improve error message for `'=' expected`
Sainan Apr 21, 2024
74d55dd
Fix luaX_token2str_noq for TK_FLT & TK_INT
Sainan Apr 21, 2024
07908f9
Avoid relying on token == ls->t.token heuristic
Sainan Apr 21, 2024
2f06370
Use buffer in luaX_token2str_noq for lexer errors
Sainan Apr 21, 2024
79cbcb2
Reduce code duplication for private field prefixes
well-in-that-case Apr 15, 2024
97cab48
Handle 'static' specifically instead of within the 'else' case
well-in-that-case Apr 15, 2024
2c8c825
Add private methods (so long as they're declared first)
well-in-that-case Apr 16, 2024
a0367aa
Preprocess class bodies to pre-register private methods and fields
well-in-that-case Apr 17, 2024
47fb39d
Use std::unordered_set for ClassData::private_fields
well-in-that-case Apr 19, 2024
0440109
Add ability for 'throwerr' to include a note
well-in-that-case Apr 19, 2024
34ceb0b
Add error reporting for preprocessor misalignment
well-in-that-case Apr 19, 2024
337a03e
Improve class preprocessor handling for TK_CLASS
well-in-that-case Apr 20, 2024
5729ca8
Make the preprocessor the sole entity responsible for registering pri…
well-in-that-case Apr 21, 2024
ea454f5
Narrow walrus variable scopes to their respective blocks
Sainan Apr 23, 2024
90753a3
Improve assert.contains error message when container is nil
well-in-that-case Apr 29, 2024
eb461df
Optimize json.encode with __order
Sainan Jun 7, 2024
b3ba2d2
Consider conditionals to narrow propagated type
Sainan Jul 4, 2024
72d72ab
Implement socket.starttls for server sockets
Sainan Jul 11, 2024
13eb698
Add table.findindex
Sainan Jul 11, 2024
0a6acd5
Add table.back
Sainan Jul 11, 2024
c4007d7
Add table.keys
Sainan Jul 11, 2024
82e8725
Add regex library with 'new' and 'match'
Sainan Mar 26, 2024
77a0d24
Add pluto_newclassinst
Sainan Jul 13, 2024
4ac22fe
Avoid reliance on RAII to clean up certstore in socket.starttls
Sainan Jul 13, 2024
4e9de27
Add crypto.deflate
Sainan Jul 18, 2024
07015ca
crypto.deflate: Add optional argument for decompressed size
Sainan Jul 19, 2024
6791067
[Soup] deflate: Avoid truncation for copyStored
Sainan Jul 20, 2024
c8ac63c
[Soup] Fix deflate::decompress throwing when max_decompressed_size=0
Sainan Jul 20, 2024
2cbae1e
Initial FFI library
Sainan Jul 13, 2024
439a1a1
Respect PLUTO_NO_BINARIES for ffi.open
Sainan Jul 13, 2024
e7b90b2
Add PLUTO_FFI_CALL_HOOK
Sainan Jul 13, 2024
1477f9f
FFI: Add 'ptr' type, accept strings for it
Sainan Jul 13, 2024
4930fe4
Use a plain table for FFI library
Sainan Jul 13, 2024
1f735d9
Fix slight incongruence
Sainan Jul 13, 2024
be5375e
Allow Pluto_operator_new to be used with any indexable type
Sainan Jul 13, 2024
2f05b99
Add ffi.struct & ffi.new
Sainan Jul 13, 2024
715b854
Add ffi.cdef
Sainan Jul 13, 2024
63f072a
FFI: Add dedicated string type
Sainan Jul 13, 2024
fee1cdf
Add ffi.nullptr
Sainan Jul 13, 2024
bde0b9a
Add ffi.sizeof & ffi.offsetof
Sainan Jul 13, 2024
48e83af
FFI: Add lib:cdef
Sainan Jul 13, 2024
6426cc0
Update Soup reflection stuff
Sainan Jul 13, 2024
36182c6
Turn funcwrapper into a C closure to avoid __call metamethod
Sainan Jul 14, 2024
5f895ad
Handle float & double members
Sainan Jul 18, 2024
742e18a
Fix struct.new only constructing first struct type
Sainan Jul 18, 2024
0256c28
Fix indentation
Sainan Jul 19, 2024
dca3918
Error on unknown types and duplicated struct members
Sainan Jul 19, 2024
21dcdfe
Improve error message of check_struct_type when non-userdata was passed
Sainan Jul 19, 2024
48bb777
Disallow anonymous structs in ffi.cdef
Sainan Jul 19, 2024
e3cdaa7
Fix not being able to assign allocated structs to a pointer
Sainan Jul 19, 2024
fb4e3eb
Deprecate 'export'
Sainan Jul 19, 2024
768549c
Re-add ifexpr, but require 'end' to terminate it
Sainan Jul 31, 2024
ce079d7
Add chained comparisons
Sainan Jul 30, 2024
6d6ced0
Fix unexpected stack push
Sainan Aug 2, 2024
34d31f1
8047b2d03eaaeee44871a11f8d3a3135f2639b1a
Sainan Feb 6, 2024
ed3556e
Fix not compiling as C++
Sainan Feb 6, 2024
6f51d64
76953316d1283ab6324b59b914ef53a521408444
Sainan Feb 6, 2024
0ab498f
f356d5acdd9d8e8f7e9d1d7632c4657f945ff4f4
Sainan Feb 6, 2024
d0aca14
ec61be9a7e828bfa366a35658b90f53b1ce39478
Sainan Feb 6, 2024
4a778dc
152b51955aabb9dfb32302569fac810e999eda03
Sainan Feb 6, 2024
3c310e5
d324a0ccf9e2511baf182dd981a8ee9835cee925
Sainan Feb 6, 2024
848a151
0270c204c235a495ce4702ac3891eb30752d0c8d
Sainan Feb 6, 2024
61f4ff3
d738c8d18bcc5651109b3a46103d6aa983772e68
Sainan Feb 6, 2024
78085b1
40565b4a089f44fdcb16f4ed0080b0ca3755e4aa
Sainan Feb 6, 2024
d2a6d47
5d8b5b9290c932bdfd7dcc670a5af957bdd58392
Sainan Feb 6, 2024
d0f0bb1
d70a0c91ad42275af1f6f1b6e37c604442b3f0d1
Sainan Feb 6, 2024
da96f69
Fix plutoc
Sainan Feb 6, 2024
da7b6f3
Fix PLUTO_MEMORY_LIMIT
Sainan Feb 6, 2024
c86e818
7d6a97e42bc3328b9c5ec1dabbd7e280e81c3efd
Sainan Feb 6, 2024
60d66a6
540d8052265776451bb9f0ab4dee4ec860563cbe
Sainan Feb 6, 2024
e151314
b2f7b3b79f3117885b265575f6c5dbf934757797
Sainan Feb 6, 2024
c65a255
873588dc5f04bfc37006c3dc6ceb9a495ea503f2
Sainan Feb 6, 2024
83e2b94
Revert e9e7f24457a4f8dc66a60ed8f71da1d075e79567
Sainan Feb 6, 2024
57c79bf
Reintroduce implicit pairs
Sainan Feb 6, 2024
fc4822c
7d4c7ae2af686df4a9f3cc0c6110986d886d55e6
Sainan Feb 6, 2024
d43e884
8dea54877a5e7b0a461b076e79fdc8b47d7e39e6
Sainan Feb 6, 2024
3d8cd9d
5a04f1851e0d42b4bcbb0af103490bc964e985aa
Sainan Feb 6, 2024
e9cb237
86e8039a72646cd9192fd08a6f1771c90b872ff6
Sainan Feb 6, 2024
8ce0992
05545816057cfdc54bb58199388a2d8878ae5542
Sainan Feb 6, 2024
db4d2c4
96f77142374da8a4a7d4e5e8afd559fbaf0430e8
Sainan Feb 6, 2024
d33c548
Fix plutoc
Sainan Feb 6, 2024
43d930b
f33cda8d6eb1cac5b9042429e85f1096175c7ca5
Sainan Feb 6, 2024
e870558
Remove testes/api.lua because we don't have testC
Sainan Feb 6, 2024
c8cfbcf
14e416355f83cf0a1b871eedec2c92b86dbe76d6
Sainan Feb 6, 2024
f349c4e
37c215b43f27a1c41e8a920987e1c3bd7b34330d
Sainan Feb 6, 2024
8c7ba0f
19afd916870a0621b59e8728d439b0fe10288b99
Sainan Feb 6, 2024
4daef80
Fix luaV_searchelement
Sainan Feb 6, 2024
57dba89
b8a9d14032b717f6e5c493a9ec20e3494c9f82a0
Sainan Feb 6, 2024
ba22e9f
Fix build with LUAI_ASSERT
Sainan Feb 7, 2024
03f0f08
7f4906f565ab9f8b1125107a3abae3d759f3ecf2
Sainan Feb 6, 2024
3514545
024f9064f1b43758eb36aba52547edc0312bf4ba
Sainan Feb 6, 2024
44d4b27
3b57e37e4821ddce4756428956b7e9f4969efa4c
Sainan Feb 6, 2024
c9f6c9d
eabf425c76e0089eb88e102e2a44d8c8a37bc213
Sainan Feb 6, 2024
6632b57
6d042a178fba32d10ec23c98fb2fd284397ccddc
Sainan Feb 7, 2024
a62452e
1028f296a8e6477cb556c75fe1397cd4e2762abe
Sainan Feb 7, 2024
6ff223c
25cd3d377ec13176a6701d9d21a278ba8f2bc3d6
Sainan Feb 7, 2024
a65857b
52b899d60d8c61b8affe0206014173912de94940
Sainan Feb 7, 2024
c4d9536
63d68bd657b7386c9c58b4439a100ea0ccbd633e
Sainan Feb 7, 2024
fa5303b
35a2fed2d1e0b95a1bfab364707e469863517085
Sainan Feb 7, 2024
1f26fd6
b719ff9399cbc4b19b2b8325417fc5fa0ef3d0e3
Sainan Feb 7, 2024
ca934bd
74b401353892318cd7ded6ca149258feb21d1724
Sainan Feb 7, 2024
feb8e8b
789e7acdea3ada96bd00b7aac6d82e805bfee85c
Sainan Feb 7, 2024
58d1a6d
925fe8a0f2a667c96c015ee74d1a702af9ea5507
Sainan Feb 7, 2024
8a6ab19
ad73b332240ef5b9bab1517517f63a1425dc7545
Sainan Feb 7, 2024
72a1b3a
4eda1acafa1a69224b2d4f786cf1ec8f7a4d9ac5
Sainan Feb 7, 2024
da2573b
Fix plutoc
Sainan Feb 7, 2024
d27539f
666e95a66d1a2ceb98bdf320980b3f655264a9c9
Sainan Feb 7, 2024
1df982a
ad0ea7813b39e76b377983138ca995189e22054f
Sainan Feb 7, 2024
3b0c0de
e2cc179454c6aa6cde5f98954bd3783e0d5d53a3
Sainan Feb 7, 2024
0401ea8
e81f586001d767c8de9b760ae2e2c3b5da1542c6
Sainan Feb 7, 2024
813fda0
12b6f610b0f1b4157c04f0db264f1f1d0634709b
Sainan Feb 7, 2024
2e0d721
e7af9cdf0b9fca080e8bb3463e16d60933e786f9
Sainan Feb 7, 2024
37f6df8
7827c40c49d841daca2a40463b8a60f9a113f77e
Sainan Feb 7, 2024
f915966
d862da6d04111ce7e5b225040fbe7e526761f478
Sainan Feb 7, 2024
4040f6e
8eb0abc9db4d47db5192bed18565e3d1aa53566d
Sainan Feb 7, 2024
7f12711
17e0c29d9b435392016b707309ed51409b0aea12
Sainan Feb 7, 2024
dcc146c
4a8e48086433ad12f2991c07f3064278714fd0f1
Sainan Feb 7, 2024
f951319
3e9dbe143d3338f5f13a5e421ea593adff482da0
Sainan Feb 7, 2024
ab5d49e
b34a97a4af5c9e973915c07dba918d95009e0acd
Sainan Feb 7, 2024
201ae25
c31d6774ac7db4cfbc548ce507ae65ab6036f873
Sainan Feb 7, 2024
bc8c996
Support loading of Lua 5.4 bytecode, bump Pluto bytecode version to m…
Sainan Mar 2, 2024
e19845f
Update luaH_clear
Sainan Mar 11, 2024
eb3514f
0c9bec0d38ed3d2c45d7be4e764a0bcffef98be1
Sainan Mar 11, 2024
dbd17a6
6063c47031afa2d62e6038fcf8f3c805785c7df3
Sainan Mar 11, 2024
db4731f
7360f8d0fd91344deb583ff76b8250a1883dcd4c
Sainan Mar 11, 2024
ace2891
c8121ce34b39c6fd31899f4da91e26063c8af54f
Sainan Mar 11, 2024
0638806
165389b27bc54e7c5214276db177e3ef75226f18
Sainan Mar 11, 2024
8c612bf
7237eb3f1c480d6bc7fe2832ddd36f2137fb69d9
Sainan Mar 11, 2024
2834769
65b07dd53d7938a60112fc4473f5cad3473e3534
Sainan Mar 11, 2024
47fb9bd
cc2b66c85687b095e68304c010b59851ca4093e1
Sainan Mar 26, 2024
f144a15
52aa2b5d24c560fb4d7a642971571ff9cbeabfcd
Sainan Mar 26, 2024
f10e8f1
3823fc6c814d20f2b2a0a1e3be8782084440040f
Sainan Mar 26, 2024
548a5b8
ba710603811c68fe3a69b3bb98e9038d37489a79
Sainan Mar 26, 2024
885adfa
ce6f5502c99ce9a367e25b678e375db6f8164d73 & 0593256707ceddb1bc9cd4b25b…
Sainan Mar 26, 2024
376e307
9fa63a62682c1353eeabd4575152941fa6f3e70f
Sainan Mar 26, 2024
58b20a7
86a8e74824b3ec7918e3dbeaff222bb1ea1ec22f
Sainan Apr 2, 2024
f602c68
88a50ffa715483e7187c0d7d6caaf708ebacf756
Sainan Apr 2, 2024
08021dc
Update comments
Sainan Apr 4, 2024
760ee4f
3507c3380f5251a49c63f87c81c027b2664795c7
Sainan Apr 11, 2024
f7cc019
5edacafcfa36a1fa86a7b5316bacf8c6a2c47227
Sainan Apr 11, 2024
30f14c9
0897c0a4289ef3a8d45761266124613f364bef60
Sainan Apr 11, 2024
63ec95f
262dc5729a28b2bad0b6413d4eab2290d14395cf
Sainan May 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions Pluto.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -648,6 +648,7 @@
<ClCompile Include="src\ldebug.cpp" />
<ClCompile Include="src\ldo.cpp" />
<ClCompile Include="src\ldump.cpp" />
<ClCompile Include="src\lffi.cpp" />
<ClCompile Include="src\lfunc.cpp" />
<ClCompile Include="src\lgc.cpp" />
<ClCompile Include="src\lhttplib.cpp" />
Expand All @@ -662,6 +663,7 @@
<ClCompile Include="src\lopcodes.cpp" />
<ClCompile Include="src\loslib.cpp" />
<ClCompile Include="src\lparser.cpp" />
<ClCompile Include="src\lregex.cpp" />
<ClCompile Include="src\lschedulerlib.cpp" />
<ClCompile Include="src\lsocketlib.cpp" />
<ClCompile Include="src\lstarlib.cpp" />
Expand Down Expand Up @@ -736,6 +738,7 @@
<ClCompile Include="src\vendor\Soup\soup\dnsUdpResolver.cpp" />
<ClCompile Include="src\vendor\Soup\soup\dns_records.cpp" />
<ClCompile Include="src\vendor\Soup\soup\ecc.cpp" />
<ClCompile Include="src\vendor\Soup\soup\ffi.cpp" />
<ClCompile Include="src\vendor\Soup\soup\filesystem.cpp" />
<ClCompile Include="src\vendor\Soup\soup\HardwareRng.cpp" />
<ClCompile Include="src\vendor\Soup\soup\HttpRequest.cpp" />
Expand All @@ -751,17 +754,26 @@
<ClCompile Include="src\vendor\Soup\soup\JsonNull.cpp" />
<ClCompile Include="src\vendor\Soup\soup\JsonObject.cpp" />
<ClCompile Include="src\vendor\Soup\soup\JsonString.cpp" />
<ClCompile Include="src\vendor\Soup\soup\LangDesc.cpp" />
<ClCompile Include="src\vendor\Soup\soup\LexemeParser.cpp" />
<ClCompile Include="src\vendor\Soup\soup\log.cpp" />
<ClCompile Include="src\vendor\Soup\soup\MimeMessage.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Mixed.cpp" />
<ClCompile Include="src\vendor\Soup\soup\netConfig.cpp" />
<ClCompile Include="src\vendor\Soup\soup\netConnectTask.cpp" />
<ClCompile Include="src\vendor\Soup\soup\netStatus.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Oid.cpp" />
<ClCompile Include="src\vendor\Soup\soup\os.cpp" />
<ClCompile Include="src\vendor\Soup\soup\ParserState.cpp" />
<ClCompile Include="src\vendor\Soup\soup\parse_tree.cpp" />
<ClCompile Include="src\vendor\Soup\soup\pem.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Promise.cpp" />
<ClCompile Include="src\vendor\Soup\soup\rand.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Reader.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Regex.cpp" />
<ClCompile Include="src\vendor\Soup\soup\RegexGroup.cpp" />
<ClCompile Include="src\vendor\Soup\soup\rflParser.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Rgb.cpp" />
<ClCompile Include="src\vendor\Soup\soup\rsa.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Scheduler.cpp" />
<ClCompile Include="src\vendor\Soup\soup\SelfDeletingThread.cpp" />
Expand All @@ -770,6 +782,7 @@
<ClCompile Include="src\vendor\Soup\soup\sha256.cpp" />
<ClCompile Include="src\vendor\Soup\soup\sha384.cpp" />
<ClCompile Include="src\vendor\Soup\soup\sha512.cpp" />
<ClCompile Include="src\vendor\Soup\soup\SharedLibrary.cpp" />
<ClCompile Include="src\vendor\Soup\soup\Socket.cpp" />
<ClCompile Include="src\vendor\Soup\soup\SocketTlsEncrypter.cpp" />
<ClCompile Include="src\vendor\Soup\soup\SocketTlsHandshaker.cpp" />
Expand Down Expand Up @@ -835,6 +848,7 @@
<ClInclude Include="src\vendor\Soup\soup\base.hpp" />
<ClInclude Include="src\vendor\Soup\soup\base32.hpp" />
<ClInclude Include="src\vendor\Soup\soup\base64.hpp" />
<ClInclude Include="src\vendor\Soup\soup\BigBitset.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Bigint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\bitmask.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Bitset.hpp" />
Expand All @@ -843,13 +857,16 @@
<ClInclude Include="src\vendor\Soup\soup\Buffer.hpp" />
<ClInclude Include="src\vendor\Soup\soup\BufferRefWriter.hpp" />
<ClInclude Include="src\vendor\Soup\soup\BufferWriter.hpp" />
<ClInclude Include="src\vendor\Soup\soup\BuiltinOp.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Callback.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Canvas.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Capture.hpp" />
<ClInclude Include="src\vendor\Soup\soup\cat.hpp" />
<ClInclude Include="src\vendor\Soup\soup\CertStore.hpp" />
<ClInclude Include="src\vendor\Soup\soup\CidrSubnet4.hpp" />
<ClInclude Include="src\vendor\Soup\soup\CidrSubnet6.hpp" />
<ClInclude Include="src\vendor\Soup\soup\CidrSupernet.hpp" />
<ClInclude Include="src\vendor\Soup\soup\ConstString.hpp" />
<ClInclude Include="src\vendor\Soup\soup\CpuInfo.hpp" />
<ClInclude Include="src\vendor\Soup\soup\crc32.hpp" />
<ClInclude Include="src\vendor\Soup\soup\CryptoHashAlgo.hpp" />
Expand All @@ -875,8 +892,10 @@
<ClInclude Include="src\vendor\Soup\soup\ecc.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Endian.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Exception.hpp" />
<ClInclude Include="src\vendor\Soup\soup\ffi.hpp" />
<ClInclude Include="src\vendor\Soup\soup\filesystem.hpp" />
<ClInclude Include="src\vendor\Soup\soup\format.hpp" />
<ClInclude Include="src\vendor\Soup\soup\FormattedText.hpp" />
<ClInclude Include="src\vendor\Soup\soup\fwd.hpp" />
<ClInclude Include="src\vendor\Soup\soup\HardwareRng.hpp" />
<ClInclude Include="src\vendor\Soup\soup\HttpRequest.hpp" />
Expand All @@ -900,32 +919,79 @@
<ClInclude Include="src\vendor\Soup\soup\JsonNull.hpp" />
<ClInclude Include="src\vendor\Soup\soup\JsonObject.hpp" />
<ClInclude Include="src\vendor\Soup\soup\JsonString.hpp" />
<ClInclude Include="src\vendor\Soup\soup\LangDesc.hpp" />
<ClInclude Include="src\vendor\Soup\soup\LcgRng.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Lexeme.hpp" />
<ClInclude Include="src\vendor\Soup\soup\LexemeParser.hpp" />
<ClInclude Include="src\vendor\Soup\soup\log.hpp" />
<ClInclude Include="src\vendor\Soup\soup\logSink.hpp" />
<ClInclude Include="src\vendor\Soup\soup\logStdSink.hpp" />
<ClInclude Include="src\vendor\Soup\soup\macros.hpp" />
<ClInclude Include="src\vendor\Soup\soup\math.hpp" />
<ClInclude Include="src\vendor\Soup\soup\memory.hpp" />
<ClInclude Include="src\vendor\Soup\soup\MimeMessage.hpp" />
<ClInclude Include="src\vendor\Soup\soup\MimeType.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Mixed.hpp" />
<ClInclude Include="src\vendor\Soup\soup\NamedCurves.hpp" />
<ClInclude Include="src\vendor\Soup\soup\netConfig.hpp" />
<ClInclude Include="src\vendor\Soup\soup\netConnectTask.hpp" />
<ClInclude Include="src\vendor\Soup\soup\netStatus.hpp" />
<ClInclude Include="src\vendor\Soup\soup\ObfusString.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Oid.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Op.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Optional.hpp" />
<ClInclude Include="src\vendor\Soup\soup\os.hpp" />
<ClInclude Include="src\vendor\Soup\soup\OstreamWriter.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Packet.hpp" />
<ClInclude Include="src\vendor\Soup\soup\ParseError.hpp" />
<ClInclude Include="src\vendor\Soup\soup\ParserState.hpp" />
<ClInclude Include="src\vendor\Soup\soup\parse_tree.hpp" />
<ClInclude Include="src\vendor\Soup\soup\pem.hpp" />
<ClInclude Include="src\vendor\Soup\soup\plusaes.hpp" />
<ClInclude Include="src\vendor\Soup\soup\PointerAndBool.hpp" />
<ClInclude Include="src\vendor\Soup\soup\PoppedNode.hpp" />
<ClInclude Include="src\vendor\Soup\soup\PrimitiveRaii.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Promise.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rand.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Reader.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Regex.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexAlternative.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexAnyCharConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexCharConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexCodepointConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexConstraintLookbehind.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexDummyConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexEndConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexExactQuantifierConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexFlags.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexGroup.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexGroupConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexMatchedGroup.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexMatcher.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexMatchResult.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexNegativeLookaheadConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexNegativeLookbehindConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexOpenEndedRangeQuantifierConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexOptConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexPositiveLookaheadConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexPositiveLookbehindConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexRangeConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexRangeQuantifierConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexRecallConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexRepeatConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexStartConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexTransitionsVector.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexWordBoundaryConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RegexWordCharConstraint.hpp" />
<ClInclude Include="src\vendor\Soup\soup\ReuseTag.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rflFunc.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rflMember.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rflParser.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rflStruct.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rflType.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rflVar.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Rgb.hpp" />
<ClInclude Include="src\vendor\Soup\soup\RngInterface.hpp" />
<ClInclude Include="src\vendor\Soup\soup\rsa.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Scheduler.hpp" />
Expand All @@ -938,6 +1004,7 @@
<ClInclude Include="src\vendor\Soup\soup\sha256.hpp" />
<ClInclude Include="src\vendor\Soup\soup\sha384.hpp" />
<ClInclude Include="src\vendor\Soup\soup\sha512.hpp" />
<ClInclude Include="src\vendor\Soup\soup\SharedLibrary.hpp" />
<ClInclude Include="src\vendor\Soup\soup\SharedPtr.hpp" />
<ClInclude Include="src\vendor\Soup\soup\shortint_impl.hpp" />
<ClInclude Include="src\vendor\Soup\soup\ShortString.hpp" />
Expand Down Expand Up @@ -977,6 +1044,7 @@
<ClInclude Include="src\vendor\Soup\soup\TlsServerHello.hpp" />
<ClInclude Include="src\vendor\Soup\soup\TlsServerKeyExchange.hpp" />
<ClInclude Include="src\vendor\Soup\soup\TlsSignatureScheme.hpp" />
<ClInclude Include="src\vendor\Soup\soup\Token.hpp" />
<ClInclude Include="src\vendor\Soup\soup\TransientToken.hpp" />
<ClInclude Include="src\vendor\Soup\soup\TreeNode.hpp" />
<ClInclude Include="src\vendor\Soup\soup\TrustStore.hpp" />
Expand Down
102 changes: 101 additions & 1 deletion Pluto.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,13 @@
<ClCompile Include="src\vendor\Soup\soup\os.cpp">
<Filter>vendor\Soup\soup</Filter>
</ClCompile>
<ClCompile Include="src\lregex.cpp" />
<ClCompile Include="src\vendor\Soup\soup\RegexGroup.cpp">
<Filter>vendor\Soup\soup</Filter>
</ClCompile>
<ClCompile Include="src\vendor\Soup\soup\Regex.cpp">
<Filter>vendor\Soup\soup</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\ltm.h" />
Expand Down Expand Up @@ -846,6 +853,99 @@
<ClInclude Include="src\vendor\Soup\soup\memProtFlags.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexFlags.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexGroup.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexGroupConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexMatchedGroup.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexMatcher.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexMatchResult.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexNegativeLookaheadConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexNegativeLookbehindConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexOpenEndedRangeQuantifierConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexOptConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexPositiveLookaheadConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexPositiveLookbehindConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexRangeConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexRangeQuantifierConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexRecallConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexRepeatConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexStartConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexWordBoundaryConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexWordCharConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\Regex.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexAlternative.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexAnyCharConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexCharConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexCodepointConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexConstraintLookbehind.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexDummyConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexEndConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\RegexExactQuantifierConstraint.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\PointerAndBool.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
<ClInclude Include="src\vendor\Soup\soup\BigBitset.hpp">
<Filter>vendor\Soup\soup</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="vendor">
Expand All @@ -861,4 +961,4 @@
<UniqueIdentifier>{f0adda43-f311-40e5-b4ec-284f248bad46}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>
</Project>
3 changes: 0 additions & 3 deletions operators.pluto
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
-- lparser.cpp's builtinoperators

local Pluto_operator_new <const> = function(mt, ...)
if type(mt) ~= "table" then
error "'new' used on non-table value"
end
if mt.new then
return mt.new(...)
end
Expand Down
2 changes: 1 addition & 1 deletion src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ PLATS= guess aix bsd freebsd generic linux linux-readline macosx posix solaris
LUA_A= libplutostatic.a
LUA_SO= libpluto.so
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o lcryptolib.o ltablib.o lutf8lib.o lassertlib.o lvector3lib.o lbase32.o lbase64.o ljson.o lurllib.o linit.o lstarlib.o lcatlib.o lhttplib.o lschedulerlib.o lsocketlib.o lbigint.o lxml.o
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o lcryptolib.o ltablib.o lutf8lib.o lassertlib.o lvector3lib.o lbase32.o lbase64.o ljson.o lurllib.o linit.o lstarlib.o lcatlib.o lhttplib.o lschedulerlib.o lsocketlib.o lbigint.o lxml.o lregex.o lffi.o
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)

LUA_T= pluto
Expand Down
Loading