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 +0100
943026a3acI forget to add modified files to previous commit (added support for Space tables, removed Models class)Tomasz Sowa2021-11-22 15:44:37 +0100
c2c12d55d0added support for Space tables removed Models classTomasz Sowa2021-11-22 15:43:08 +0100
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 +0200
dfb8e5da78Merge commit 'd8692f6ed56a8bb1bcdd1117aef7df69ec1c39aa' into types "index" and "index-one" options for space tablesTomasz Sowa2021-09-23 14:09:23 +0200
d8692f6ed5added options: "index" and "index-one" for space tables e.g. [table_name "index-one"]Tomasz Sowa2021-09-23 14:03:26 +0200
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 +0200
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 +0200
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 +0200
a983698e3dGenerator: some methods take std::vector<Var> parameters not through a referenceTomasz Sowa2021-08-17 17:33:51 +0200
6a8cb019f5added parameters "only_date" and "only_time" when printing a pt::DateTomasz Sowa2021-08-14 19:40:05 +0200
b0afdf7f0fcheck block arguments e.g. [1] at the beginning - before all other lookupsTomasz Sowa2021-08-14 17:44:11 +0200
b956f1c401fixed: fields table was not copied in Item::Function::operator=(...)Tomasz Sowa2021-08-14 17:40:40 +0200
5e47313af8fixed: when incrementing space tables iterators in [for] statements we should invalidate indices for nested tablesTomasz Sowa2021-08-13 21:44:07 +0200
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 +0200
ae6a5c52a1fixed in Generator: ezc_frames_stack_index was not initializedTomasz Sowa2021-07-06 23:56:29 +0200
b9b9a881e0added "roman" and "no_sec" parameters when serializing a dateTomasz Sowa2021-07-06 21:47:42 +0200
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 +0200
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 +0200
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 +0200
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 +0200
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 +0200
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 +0200
eda276356fadded possibility to iterate through Space object in Models objectsTomasz Sowa2021-06-22 18:01:47 +0200
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 +0200
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 +0200
d76bb9349badded typename keyword to Generator::CallModelHelper Generator::FindLastModelWrapper(...)Tomasz Sowa2021-06-18 18:55:39 +0200
4a64336864added support for morm containers with pointers to modelsTomasz Sowa2021-06-17 21:33:28 +0200
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 +0200
e6fd9aad37added basic support for calling variables and functions from morm::Model objectsTomasz Sowa2021-05-31 18:37:09 +0200
052f803eacrenamed [ezc out ...] statement to [ezc frame ...], similar [out ...] to [frame ...]Tomasz Sowa2021-05-28 16:10:16 +0200
0bcaca4770Merge pull request 'api2021 part I' (#5) from api2021 into masterTomasz Sowa2021-05-27 10:41:16 +0200
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 +0200
6f6df9524cupdated to the new pikotools api: changed utf8 functions PascalCase to snake_caseTomasz Sowa2021-05-21 00:32:05 +0200
cd1c24d0a5updated to new pikotools api: namespace PT renamed to ptTomasz Sowa2021-05-20 16:12:41 +0200
eace4d41ccchanged: in PatternParser: the way how nested ezc funcions are parsed now we can have: [fun] [[fun]] or even [[[fun]]] also when using keywords: [if fun] [if [fun]] or [if [[[[fun]]]]]Tomasz Sowa2016-08-25 13:11:33 +0000
363605bde5changed: a function can have a postfix now e.g. [my_function:my_postfix] this will be mainly used in conjuction with [for ...] statementsTomasz Sowa2016-04-04 15:53:11 +0000
18696d412badded a 'for_name' (std::string*) in Stack this is a user defined name of a [for] statementTomasz Sowa2016-03-23 15:22:59 +0000
2190fae789changed: using relative paths calculated with relative_path nowTomasz Sowa2016-03-18 09:22:13 +0000
0e99ded5b8added: include path to ezc to Makefile (it is referenced from Winix)Tomasz Sowa2016-02-01 11:12:26 +0000
a1ea2e3ccdchanged: OutStreams<>::streams_map should not have null pointers to StreamType objectsTomasz Sowa2015-11-16 12:09:34 +0000
c3deb960c5fixed: 'typename' keyword is missing in some placesTomasz Sowa2015-11-12 11:08:53 +0000
7b6f7ad328changed: [ezc streams "..."] to [ezc out "..."] or just [out "..."] the syntax has been changed, now [ezc ...] is used with [end] statement added: OutStreams<StreamType> class with a pool with output streams, the Generator::Generate() method can take it as its argument (Generator API has been changed)Tomasz Sowa2015-11-12 09:53:20 +0000
76490d4c19added: now ezc functions can be methods of a special object added: objects.h with a base class for the object and Objects container (similar as Functions container)Tomasz Sowa2015-06-14 18:20:00 +0000
6b42cdf76echanged: the way how functions' arguments are parsed now this [fun1 fun2 "something" fun3] will call fun1 with three arguments: fun2, "something" and fun3 and this [fun1 [fun2 "something"] fun3] will call fun1 with two arguments: [fun2 "something] and fun3 "something" is an argument for fun2 function removed: statements: [if-one] [if-any] [if-no] [if-any-no] [if-one-no]Tomasz Sowa2015-03-08 02:31:21 +0000
b519c79a3eremoved: statements: [if-index ...] [is ...] and [is-no ...] we can provide a user definied function which does the same added: to FunInfo<>: Stack * stack_tab size_t stack_index a stack table and an index to the current stack itemTomasz Sowa2014-11-02 17:26:56 +0000
6f1e2eb518removed: svn:executable atribute from filesTomasz Sowa2014-11-01 17:14:39 +0000
ad50c01b15deleted: vars.h and vars.cpp as they are not needed nowTomasz Sowa2014-10-28 17:52:45 +0000
0a7bd3159aadded: [return ...] statement for a block changed: a user definied function now is able to get a string and a boolean value (parameters) changed: we do not longer support aliases for variables a variable is only a string and a boolean value nowTomasz Sowa2014-10-28 17:46:24 +0000
6bd8889456fixed: in cache.cpp there was headerfile_ezc_cache macro used (copied from cache.h) fixed: in Generator: memory leak from block_stack objects pointing by block_stack_tab[].out_stream were not deleted fixed: in Item: ClearCache() didn't clear all pointers Function::parameters table were not usedTomasz Sowa2014-10-21 07:21:20 +0000
03fe124ad9fixed: function and blocks were incorrectly cached (now we have a tree in Item::Function.parameters too and we should go through that tree as well) fixed: in Generator: Item::Function.par should be cleared only if Item::Function.name is not empty changed: in Generator: use method 'write' of an output stream instead of operator<< added: Clear() method to Blocks class changed: in Generator Generator has its own Vars class now we don't need SetVars() method added: to Generator: void CanUseCache(bool can_use_cache); // set whether or not we can use cache for functions or blocks // true by defaultTomasz Sowa2014-10-19 21:09:34 +0000
6f9f274e08removed: AssignString() functions now we are using UTF-8 <-> wide characters conversionsTomasz Sowa2014-10-19 05:46:49 +0000
2fca5f3492changed: SetCommentary() methods from Pattern were moved to PatternParser and Generator added: caching functions and blocks caching is added into Pattern and Blocks methods: CacheFunctions() and CacheBlocks()Tomasz Sowa2014-10-19 05:42:25 +0000
ad2fb11a5cfixed: compile error in item.h (in CacheFunctions) fixed: Pattern::ClearCache() was missingTomasz Sowa2014-10-17 23:56:30 +0000
00f8af232bfixed: a 'typename' keywords were missing in some places fixed: removed GetStringFromStream() method it returns a reference to a local object (from stream.str()) now the code is used directlyTomasz Sowa2014-10-17 22:14:28 +0000
429021f687changed: a header info in each source file to: * This file is a part of EZC -- Easy templating in C++ library * and is distributed under the BSD 3-Clause licence.Tomasz Sowa2014-10-17 21:48:11 +0000