aboutsummaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeLines
* Fixed BasicParser::_file_path relying on externally controlled memory hop3112024-01-22-2/+5
|
* Fix includes Spartan3222024-01-18-9/+2
|
* Change nodes to support list checks: Spartan3222023-11-04-25/+22
| | | | | | | EventNode DecisionNode EventMtthModifierNode ExecutionListNode
* Add grammar support for BEL, HT, LF, and CR characters Spartan3222023-10-20-13/+13
| | | | Add stripping of LF and CR characters if `v2script::grammar::StringExpression`'s `Options::NoStringEscape` is false
* Add Lua Defines parsing Spartan3222023-10-12-0/+1
|
* Make File contents optional Spartan3222023-10-05-0/+12
| | | | Add lexy::nullopt support to String and List nodes
* Overhaul CSV parsing and align with Victoria 2 CSVs Spartan3222023-09-14-1/+1
| | | | | | | | | | Fix "" not being converted into " in Csv files Move duplicated Grammar in CsvGrammar.hpp to Grammar.inc Add ParseOptions to simplify template options Add StringValue disable option: Inlines value escapes Add strings namespace to grammars for `ParseOptions.SupportStrings = true` Add string parse handling to parse_csv via argument
* Add Node Line/Column Generator Spartan3222023-09-05-27/+224
| | | | | | | | | | | | Fix Errors.hpp dependency on v2script/Parser.hpp Add node location print to headless/main.cpp Add Node::line_col << operator Add Node::cast_to WARNING: Takes advantage of non-standard behavior in unordered_multimap THIS IS A HACK FOR NOW Only GCC unordered_multimap::equal_range sees elements backwards Prefer moving off of unordered_multimap to something like EASTL hash_multimap
* Add Windows-1252 CSV Parser Spartan3222023-09-04-5/+51
| | | | | | | | | | | | Fix CsvGrammar counting behavior Add csv parse argument to headless/main.cpp Change LineObject contained value type to pair Add ostream print to LineObject Add vscode tasks.json Add vscode launch.json Move csv::Parser template class specialization to end of Parser.cpp Add detail/ClassExport.hpp to assist compiler export
* Add csv::Parser.get_lines() implementation Spartan3222023-09-03-1/+1
| | | | Change csv::Parser.get_lines() return type to const ref vector
* Add github actions and workflow Spartan3222023-09-02-11/+31
|
* Rework Grammar and Parser Spartan3222023-09-02-13/+675
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add proper headless binary construction: Includes basic validation Add Error and Warning structs to Parser Add FileNode pointer getter to Parser Change all `char8_t*` and `const char8_t` to `const char*` in Parser Add Parser move operators and Parser deconstructor Add BufferHandler PIMPL object to Parser Add UTF-8 file Warning to v2script Add proper Grammar value retrieval Add AbstractSyntaxTree for v2script data parser: Has compile-time embedded type information accessible at compile-time and runtime Has Tab-based print functionality Fix wrong environment reference for headless construction in SConstruct Add error retrieval Add BasicCallbackOStreamBuffer for callback streaming Add CallbackStreamBuffer for char Add CallbackWStreamBuffer for wchar_t Add BasicCallbackStream Add CallbackStream for char Add CallbackWStream for wchar_t Add grammar for events and decisions Add event_parse to Parser Add decision_parse to Parser Add .clang-format Ignore dirty lexy module Add CSV parser and grammar: Creates std::vector<csv::LineObject> for a list of lines Add BasicParser and BasicBufferHandler to reduce code reduplication
* Initial structural commit Spartan3222023-07-26-0/+27