b9f1fa913efixed: set find_helper.found=true in CallSpaceWrapper() and CallSpace()Tomasz Sowa2021-12-09 13:30:09 +01:00
973f05cc08some work on iterating through tablesTomasz Sowa2021-11-24 13:19:27 +01:00
86d0b7d886changed the semantic of [for ...] loops, we have 'val' keyword now for referencing child objects sample: [for mylist] [mylist.val] [end] before we use 'this' but only for POD simple types, now we use 'val' for all typesTomasz Sowa2021-11-23 19:40:52 +01:00
943026a3acI forget to add modified files to previous commit (added support for Space tables, removed Models class)Tomasz Sowa2021-11-22 15:44:37 +01:00
c2c12d55d0added support for Space tables removed Models classTomasz Sowa2021-11-22 15:43:08 +01:00
03a76d35ad- Var is a template now: Var<StreamType> - removed using cache for a while - Generator: instead of blocks, functions, objects we have now only variables (work in progress)Tomasz Sowa2021-10-20 08:23:45 +02:00
0c058d4313added to Models: ModelsMap & GetMap()Tomasz Sowa2021-10-12 19:56:59 +02:00
dfb8e5da78Merge commit 'd8692f6ed56a8bb1bcdd1117aef7df69ec1c39aa' into types "index" and "index-one" options for space tablesTomasz Sowa2021-09-23 14:09:23 +02:00
d8692f6ed5added options: "index" and "index-one" for space tables e.g. [table_name "index-one"]Tomasz Sowa2021-09-23 14:03:26 +02:00
3c969ac5c6added: "this" virtual field for a table (only if the next field is not an object) cherry picked from b047a10e8dTomasz Sowa2021-09-23 04:11:20 +02:00
b047a10e8dadded: "this" virtual field for a table - only if the next field is not an object e.g.: [for space_object] [space_object.this] instead of [space_object "current"] [end] "this" can be nested, e.g. if we have two nested tables: [for space_object] [for space_object.this] [space_object.this.this] [end] [end]Tomasz Sowa2021-09-23 04:02:34 +02:00
e826ba34aestart working on types for Ezc - now Var struct has some basic types (string, bool, stream, model, etc.) - Generator doesn't directly put output to out_stream but to Var& resultTomasz Sowa2021-08-29 20:35:15 +02:00
a983698e3dGenerator: some methods take std::vector<Var> parameters not through a referenceTomasz Sowa2021-08-17 17:33:51 +02:00
6a8cb019f5added parameters "only_date" and "only_time" when printing a pt::DateTomasz Sowa2021-08-14 19:40:05 +02:00
b0afdf7f0fcheck block arguments e.g. [1] at the beginning - before all other lookupsTomasz Sowa2021-08-14 17:44:11 +02:00
b956f1c401fixed: fields table was not copied in Item::Function::operator=(...)Tomasz Sowa2021-08-14 17:40:40 +02:00
5e47313af8fixed: when incrementing space tables iterators in [for] statements we should invalidate indices for nested tablesTomasz Sowa2021-08-13 21:44:07 +02:00
44407c2a4bchanged: added two new parameters to Generator class: template<class StreamType, bool is_pikotools_stream = false, bool is_autoescape_stream = false> class Generator changed: added one new parameter to Outstreams class: template<class StreamType, bool is_pikotools_stream = false> class OutStreams removed macros: EZC_GENERATOR_HAS_PT_STREAM, EZC_GENERATOR_HAS_WINIX_STREAMTomasz Sowa2021-07-12 23:00:11 +02:00
ae6a5c52a1fixed in Generator: ezc_frames_stack_index was not initializedTomasz Sowa2021-07-06 23:56:29 +02:00
b9b9a881e0added "roman" and "no_sec" parameters when serializing a dateTomasz Sowa2021-07-06 21:47:42 +02:00
995cccdaceadd two new ezc statements: [if-def ...] and [if-not-def ...] [if-def my_function] returns true if my_function is defined somewhere (either a model, model container, space, date, block, function or variable) add support for "noescape" or "raw" parameters to Space fields fixed: CallWrapper() didn't return a status if a model/space/date/container was foundTomasz Sowa2021-07-02 20:23:20 +02:00
849b3e9eccchanged the way how we iterate through Models, instead of ModelWrapper now we have Wrapper which has pointers to: model, model container, space or dateTomasz Sowa2021-07-01 23:21:20 +02:00
acb42f453cadded support for two new ezc statements for clearing/trimming text nodes [ezc clear_all_white_nodes "yes"]...[end] - will clear a text node if the text consists of only white characters [ezc trim_text_nodes "yes"]...[end] - will trim text nodes (removes white characters at the beginning and at the end)Tomasz Sowa2021-06-29 23:38:38 +02:00
c2283f70d4Generator when printing Model/Space is recognizing now such parameters: - "dump" or "dump_to_space" parameters to make a dump in Space format - "dump_to_json" parameter to make json dump - "pretty" parameter to make the dump pretty (with new lines and indents)Tomasz Sowa2021-06-27 22:42:00 +02:00
3926793a17fixed in Generator::CallSpace() when a middle field was a table: last_res should be set only for last field refactoring in Generator::CallSpace()Tomasz Sowa2021-06-25 16:16:30 +02:00
526d57b72eadded possibility to take a Space struct in Models: Models::Add(const std::wstring & name, pt::Space & space);Tomasz Sowa2021-06-23 06:53:43 +02:00
eda276356fadded possibility to iterate through Space object in Models objectsTomasz Sowa2021-06-22 18:01:47 +02:00
615bad7372renamed macro: EZC_HAS_SPECIAL_STREAM -> EZC_GENERATOR_HAS_PT_STREAM added macro EZC_GENERATOR_HAS_WINIX_STREAM which is used by Generator::CopyStream(pt::WTextStream & src_stream, StreamType & dst_stream, bool should_escape) if this macro is defined then Generator is able to escape output streamTomasz Sowa2021-06-20 16:54:55 +02:00
9c4fe51790Generator uses now pt::Log as a logger - added method SetLogger(pt::Log & logger) - removed SetCommentary(...) methods - added logs when a model is not foundTomasz Sowa2021-06-19 20:18:30 +02:00
d76bb9349badded typename keyword to Generator::CallModelHelper Generator::FindLastModelWrapper(...)Tomasz Sowa2021-06-18 18:55:39 +02:00
4a64336864added support for morm containers with pointers to modelsTomasz Sowa2021-06-17 21:33:28 +02:00
9022d4a5fcchanged how models from morm library are used now we are using morm::ModelWrapper... classes as wrappers on models and list/vector of models and Models class is using these wrappers this allows us to iterate through list/vectors in [for...] statementsTomasz Sowa2021-06-16 14:16:49 +02:00
e6fd9aad37added basic support for calling variables and functions from morm::Model objectsTomasz Sowa2021-05-31 18:37:09 +02:00
052f803eacrenamed [ezc out ...] statement to [ezc frame ...], similar [out ...] to [frame ...]Tomasz Sowa2021-05-28 16:10:16 +02:00
0bcaca4770Merge pull request 'api2021 part I' (#5) from api2021 into masterTomasz Sowa2021-05-27 10:41:16 +02:00
0ac8e05c04changed semantic of [def] statements: - [def] is used to define a variable (like before) but if we assign a string such as [def var "string"] the string is evaluated to bool in a different way: empty string is false, not empty string is true - added [def?] statement - similar like [def] but define a variable only if such a variable is not already defined - added [let] statement - similar like [def] but with lazy evaluation (it is an alias to a function) if it is called to assign a string e.g. [let var "string"] then this has the same meaning like [def] - an alias is only created when we assign a function e.g. [let var my_function] both [def] and [let] are using the same Vars object - added [let?] - make an alias but only if such a variable is not already defined - a std::map of variables moved outside of Generator added method void SetVariables(Vars & variables); - fixed: a result status was not correctly propagated when evaluating [def] statements, this was in Call(...) function: last_res from variables was set in Find() but later was overwritten by Call(...) called for parameters (recursively)Tomasz Sowa2021-05-23 10:02:51 +02:00
6f6df9524cupdated to the new pikotools api: changed utf8 functions PascalCase to snake_caseTomasz Sowa2021-05-21 00:32:05 +02:00
cd1c24d0a5updated to new pikotools api: namespace PT renamed to ptTomasz Sowa2021-05-20 16:12:41 +02:00