Commit Graph
76 Commits
Author SHA1 Message Date
Riyyi 0aef4ee2c0 Util: Only break Lexer string tokenization on unescaped " 2022-07-01 11:11:42 +02:00
Riyyi c1c9429a9d Util: Improve Lexer string tokenization 2022-06-30 20:46:11 +02:00
Riyyi 356cdaf051 Util: Add increment() and decrement() to Lexer 2022-06-30 20:46:11 +02:00
Riyyi b41bba72c9 Util: Rename Object key -> name 2022-06-30 20:46:08 +02:00
Riyyi a818c4489c Util: Add missing getter to Object 2022-06-30 20:45:33 +02:00
Riyyi 8800ff4f7a Util: Move literal validation logic to Parser 2022-06-30 20:45:33 +02:00
Riyyi 6161d577c6 Util: Change Object map unused value to uint8_t 2022-06-30 20:45:33 +02:00
Riyyi ddf0a2858b Util: Move number validation logic to Parser 2022-06-30 20:45:26 +02:00
Riyyi 8c08b8a594 Util: Add error report to Lexer default case 2022-06-29 14:14:09 +02:00
Riyyi 4a7ed92519 Util: Add constructor Value(Type) 2022-06-28 16:25:19 +02:00
Riyyi 95e0ddf49a Util: Fix return Value when an error has occurred 2022-06-28 16:24:13 +02:00
Riyyi fdeba07fd4 Util: Improve JSON parsing and add error messages 2022-06-28 16:24:13 +02:00
Riyyi a14cd1e0a5 Util: Change Parser switch cases to if-else 2022-06-28 16:11:33 +02:00
Riyyi 061ed74d4f Util: Check strings for double quotes in Lexer 2022-06-28 16:03:43 +02:00
Riyyi 8fb1a1a8e9 Util: Move vector<Token> ownership to Job class 2022-06-26 23:13:25 +02:00
Riyyi bc01b34e58 Util: Calculate JSON line number before lexing 2022-06-25 14:05:45 +02:00
Riyyi 68bc95fdf1 Util: Implement new JSON Job class 2022-06-24 14:56:37 +02:00
Riyyi 13d020a351 Util: Add JSON Job class
This class holds the to parse string and has a helper for printing error
messages.
2022-06-24 14:46:21 +02:00
Riyyi af678374bc Util: Add emplace() to Json::Value 2022-06-23 14:54:29 +02:00
Riyyi e5978310bf Util: Fix Parser Json::Value construction 2022-06-23 14:19:06 +02:00
Riyyi 8bfae9b483 Util: Add more ways of accessing and creating Json::Value objects 2022-06-23 13:47:07 +02:00
Riyyi 9f7fe81ef6 Util: Add parse() and dump() to Json::Value 2022-06-23 13:45:07 +02:00
Riyyi aad95de5fd Util: Add a JSON stringifier 2022-06-22 14:23:29 +02:00
Riyyi c385432bb0 Util: Add JSON accessors 2022-06-16 11:38:22 +02:00
Riyyi 5188d57d19 Util: Add JSON parser 2022-06-07 12:46:13 +02:00
Riyyi 0880d98fe0 Util: Add JSON Array/Object/Value types 2022-06-07 12:46:13 +02:00
Riyyi 1c676f9548 Util: Add JSON lexical analyzer 2022-06-07 12:46:13 +02:00
Riyyi 592ee124cb Manager: Do not print debugging output on release mode 2022-01-31 20:42:17 +01:00
Riyyi 54dc515def Util: Make file append const reference 2022-01-24 00:29:50 +01:00
Riyyi a8e73063ee Util: Add file create function 2022-01-24 00:29:50 +01:00
Riyyi abbf764a3e Manager: Add feature to selectively comment and uncomment 2022-01-24 00:29:50 +01:00
Riyyi a04b5232f4 Util: Add delimiter support to the cut function 2021-10-02 12:14:14 +02:00
Riyyi 22082a515b Util: Add convenience functions to save external process creation 2021-09-26 00:14:43 +02:00
Riyyi 418b453507 Util: Add file class 2021-09-25 16:55:37 +02:00
Riyyi ee451671cd Util: Fix reading of file descriptors longer than 4096 bytes 2021-09-25 11:29:49 +02:00
Riyyi 12dd000f0b Util: Pass string by const reference 2021-09-19 11:46:19 +02:00
Riyyi cc7252f94d Util: Change operators to the evaluated order 2021-09-17 19:13:57 +02:00
Riyyi 26ceceeba5 Util: Change System to direct-list-initialization 2021-09-17 13:02:29 +02:00
Riyyi 9926849640 Util: Add class Shell for executing more basic OS shell commands 2021-09-17 12:52:36 +02:00
Riyyi 496e3e4c88 Util: Do not modify the output result 2021-09-17 01:41:21 +02:00
Riyyi 06367a05b8 Util: Add additional System operator support 2021-09-17 01:13:07 +02:00
Riyyi 2fca315557 Util: Add support for stdin and | piping
In order to accomplish this, the arguments have to be stored in the
object. Because () evaluation order is not defined in the spec.

Because arguments have to be stored now, char pointers no longer work
and std::strings are stored instead. Systems object also cant be
returned as a reference anymore because you need to be able to know
which is the lhs and which is the rhs in the operator overloads.
2021-09-16 18:11:47 +02:00
Riyyi 70ccdee8c2 Util: Add class System for executing OS shell commands 2021-09-15 12:22:04 +02:00
Riyyi 3efe74582f Util: Add ArgParser missing argument error message 2021-09-13 19:54:59 +02:00
Riyyi bb29919f02 Util: Simplify the logic of the long option parsing function 2021-09-13 17:42:34 +02:00
Riyyi 2ac6d24520 Util: Add type error messages to ArgParser option arguments 2021-09-13 16:19:49 +02:00
Riyyi 648c0f8c85 Util: Rename ArgParser error types 2021-09-13 15:22:12 +02:00
Riyyi 35e2c2de48 Util: Rename printOptionError -> printError 2021-09-13 15:17:37 +02:00
Riyyi ffcde408e1 Util: Add invalid argument type error message to ArgParser 2021-09-13 12:04:44 +02:00
Riyyi 9c918c6555 Util: Add ArgParser unhandled argument error type and messages 2021-09-13 04:04:02 +02:00