Commit Graph

  • b9f1fa913e fixed: set find_helper.found=true in CallSpaceWrapper() and CallSpace() types Tomasz Sowa 2021-12-09 13:30:09 +0100
  • 973f05cc08 some work on iterating through tables Tomasz Sowa 2021-11-24 13:19:27 +0100
  • 86d0b7d886 changed 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 types Tomasz Sowa 2021-11-23 19:40:52 +0100
  • 943026a3ac I forget to add modified files to previous commit (added support for Space tables, removed Models class) Tomasz Sowa 2021-11-22 15:44:37 +0100
  • c2c12d55d0 added support for Space tables removed Models class Tomasz Sowa 2021-11-22 15:43:08 +0100
  • a7656d5ccd added space values Tomasz Sowa 2021-11-21 21:08:06 +0100
  • 46bc5c35a1 added "add" methods with vector/list of models to Vars Tomasz Sowa 2021-11-20 22:02:18 +0100
  • 7caddeedbf set *find_helper.result if a child object was found Tomasz Sowa 2021-11-09 00:23:43 +0100
  • ac66a6649d some work on iterating through collection of models - not working yet Tomasz Sowa 2021-11-08 00:41:36 +0100
  • 2f140686d7 let filters make use of Var<> objects Tomasz Sowa 2021-11-06 19:20:11 +0100
  • e2a8729a2f Env<>::in is Var<> now and we pass last result as in into next field Tomasz Sowa 2021-11-06 19:07:39 +0100
  • bb0cc59eca if a ezc function returns another function we should evaluate it Tomasz Sowa 2021-11-05 22:23:22 +0100
  • b8a9217429 use new FindHelper struct in places where fields, field_index, parameters variables were used Tomasz Sowa 2021-11-05 09:34:05 +0100
  • 6d79cdb2fc instead of morm::Wrapper let the Var<> has a child's map Tomasz Sowa 2021-10-27 14:23:48 +0200
  • a61fd2dcd0 mark a new function FindVariable() Tomasz Sowa 2021-10-25 21:33:21 +0200
  • 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 Sowa 2021-10-20 08:23:45 +0200
  • 0c058d4313 added to Models: ModelsMap & GetMap() api2021 Tomasz Sowa 2021-10-12 19:56:59 +0200
  • dfb8e5da78 Merge commit 'd8692f6ed56a8bb1bcdd1117aef7df69ec1c39aa' into types "index" and "index-one" options for space tables Tomasz Sowa 2021-09-23 14:09:23 +0200
  • d8692f6ed5 added options: "index" and "index-one" for space tables e.g. [table_name "index-one"] Tomasz Sowa 2021-09-23 14:03:26 +0200
  • 3c969ac5c6 added: "this" virtual field for a table (only if the next field is not an object) cherry picked from b047a10e8d Tomasz Sowa 2021-09-23 04:11:20 +0200
  • b047a10e8d added: "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 Sowa 2021-09-23 04:02:34 +0200
  • d9804f05aa added Vars<> container Tomasz Sowa 2021-09-14 00:31:50 +0200
  • 09beafeab7 template FunInfo<> renamed to Env<> Tomasz Sowa 2021-08-29 20:55:15 +0200
  • e826ba34ae start 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& result Tomasz Sowa 2021-08-29 20:35:15 +0200
  • a983698e3d Generator: some methods take std::vector<Var> parameters not through a reference Tomasz Sowa 2021-08-17 17:33:51 +0200
  • 6a8cb019f5 added parameters "only_date" and "only_time" when printing a pt::Date Tomasz Sowa 2021-08-14 19:40:05 +0200
  • b0afdf7f0f check block arguments e.g. [1] at the beginning - before all other lookups Tomasz Sowa 2021-08-14 17:44:11 +0200
  • b956f1c401 fixed: fields table was not copied in Item::Function::operator=(...) Tomasz Sowa 2021-08-14 17:40:40 +0200
  • 5e47313af8 fixed: when incrementing space tables iterators in [for] statements we should invalidate indices for nested tables Tomasz Sowa 2021-08-13 21:44:07 +0200
  • 44407c2a4b changed: 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_STREAM Tomasz Sowa 2021-07-12 23:00:11 +0200
  • ae6a5c52a1 fixed in Generator: ezc_frames_stack_index was not initialized master Tomasz Sowa 2021-07-06 23:56:29 +0200
  • 9f416d31de Merge branch 'api2021' Tomasz Sowa 2021-07-06 22:46:36 +0200
  • b9b9a881e0 added "roman" and "no_sec" parameters when serializing a date Tomasz Sowa 2021-07-06 21:47:42 +0200
  • 995cccdace add 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 found Tomasz Sowa 2021-07-02 20:23:20 +0200
  • 849b3e9ecc changed the way how we iterate through Models, instead of ModelWrapper now we have Wrapper which has pointers to: model, model container, space or date Tomasz Sowa 2021-07-01 23:21:20 +0200
  • acb42f453c added 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 Sowa 2021-06-29 23:38:38 +0200
  • c2283f70d4 Generator 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 Sowa 2021-06-27 22:42:00 +0200
  • 3926793a17 fixed in Generator::CallSpace() when a middle field was a table: last_res should be set only for last field refactoring in Generator::CallSpace() Tomasz Sowa 2021-06-25 16:16:30 +0200
  • 5bd8eef3f2 make depend Tomasz Sowa 2021-06-24 20:53:26 +0200
  • 16bce07c75 fixed: in Space::CallSpace() we should not increment field index when a new table item is prepared Tomasz Sowa 2021-06-23 21:56:04 +0200
  • 87ee461dd1 make depend Tomasz Sowa 2021-06-23 17:02:19 +0200
  • 526d57b72e added possibility to take a Space struct in Models: Models::Add(const std::wstring & name, pt::Space & space); Tomasz Sowa 2021-06-23 06:53:43 +0200
  • eda276356f added possibility to iterate through Space object in Models objects Tomasz Sowa 2021-06-22 18:01:47 +0200
  • 7d390eb312 some concept about serializing space from a model api2021_model_space Tomasz Sowa 2021-06-21 23:13:04 +0200
  • e442ee4720 make depend Tomasz Sowa 2021-06-20 16:55:39 +0200
  • 615bad7372 renamed 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 stream Tomasz Sowa 2021-06-20 16:54:55 +0200
  • 9c4fe51790 Generator uses now pt::Log as a logger - added method SetLogger(pt::Log & logger) - removed SetCommentary(...) methods - added logs when a model is not found Tomasz Sowa 2021-06-19 20:18:30 +0200
  • d76bb9349b added typename keyword to Generator::CallModelHelper Generator::FindLastModelWrapper(...) Tomasz Sowa 2021-06-18 18:55:39 +0200
  • 4a64336864 added support for morm containers with pointers to models Tomasz Sowa 2021-06-17 21:33:28 +0200
  • abb60def6e added .editorconfig file Tomasz Sowa 2021-06-16 14:21:08 +0200
  • 9022d4a5fc changed 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...] statements Tomasz Sowa 2021-06-16 14:16:49 +0200
  • e6fd9aad37 added basic support for calling variables and functions from morm::Model objects Tomasz Sowa 2021-05-31 18:37:09 +0200
  • 3b858650f2 Merge branch 'api2021' Tomasz Sowa 2021-05-28 16:11:50 +0200
  • 052f803eac renamed [ezc out ...] statement to [ezc frame ...], similar [out ...] to [frame ...] Tomasz Sowa 2021-05-28 16:10:16 +0200
  • 0bcaca4770 Merge pull request 'api2021 part I' (#5) from api2021 into master Tomasz Sowa 2021-05-27 10:41:16 +0200
  • 0ac8e05c04 changed 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) #5 Tomasz Sowa 2021-05-23 10:02:51 +0200
  • 6f6df9524c updated to the new pikotools api: changed utf8 functions PascalCase to snake_case Tomasz Sowa 2021-05-21 00:32:05 +0200
  • cd1c24d0a5 updated to new pikotools api: namespace PT renamed to pt Tomasz Sowa 2021-05-20 16:12:41 +0200
  • d1a15ad153 make depend Tomasz Sowa 2021-05-14 21:02:56 +0200
  • 29c7163d9b updated to the new pikotools api (api2021 branch) Tomasz Sowa 2021-05-14 21:02:27 +0200
  • b289aa7f0a added .gitignore file Tomasz Sowa 2021-02-17 17:06:12 +0100
  • 9e82aa9bcf src/Makefile.dep Tomasz Sowa 2019-03-06 18:20:12 +0000
  • 632c81812f Makefile.dep Tomasz Sowa 2019-01-11 19:09:43 +0000
  • 1e85922d4e changed: PatternParser now uses Log from pikotools Tomasz Sowa 2018-11-23 18:33:17 +0000
  • bf62d44346 fixed: program_mode was not set in cctor fixed: container was not correctly parsed (in template mode) Tomasz Sowa 2018-11-01 21:52:33 +0000
  • a6b767a223 some work on a 'program mode' Tomasz Sowa 2018-10-30 20:59:17 +0000
  • c825c85878 start working on a 'program mode' a new syntax for simple scripting Tomasz Sowa 2018-10-29 23:50:10 +0000
  • 54387e43bb Makefile.o.dep Tomasz Sowa 2018-05-10 17:25:04 +0000
  • eace4d41cc changed: 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 Sowa 2016-08-25 13:11:33 +0000
  • 363605bde5 changed: a function can have a postfix now e.g. [my_function:my_postfix] this will be mainly used in conjuction with [for ...] statements Tomasz Sowa 2016-04-04 15:53:11 +0000
  • 18696d412b added a 'for_name' (std::string*) in Stack this is a user defined name of a [for] statement Tomasz Sowa 2016-03-23 15:22:59 +0000
  • 2190fae789 changed: using relative paths calculated with relative_path now Tomasz Sowa 2016-03-18 09:22:13 +0000
  • 0e99ded5b8 added: include path to ezc to Makefile (it is referenced from Winix) Tomasz Sowa 2016-02-01 11:12:26 +0000
  • a1ea2e3ccd changed: OutStreams<>::streams_map should not have null pointers to StreamType objects Tomasz Sowa 2015-11-16 12:09:34 +0000
  • 0dc807dbff some #include moved in other places Tomasz Sowa 2015-11-15 21:45:49 +0000
  • c3deb960c5 fixed: 'typename' keyword is missing in some places Tomasz Sowa 2015-11-12 11:08:53 +0000
  • 7b6f7ad328 changed: [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 Sowa 2015-11-12 09:53:20 +0000
  • 76490d4c19 added: 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 Sowa 2015-06-14 18:20:00 +0000
  • 6b42cdf76e changed: 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 Sowa 2015-03-08 02:31:21 +0000
  • b519c79a3e removed: 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 item Tomasz Sowa 2014-11-02 17:26:56 +0000
  • 6f1e2eb518 removed: svn:executable atribute from files Tomasz Sowa 2014-11-01 17:14:39 +0000
  • ad50c01b15 deleted: vars.h and vars.cpp as they are not needed now Tomasz Sowa 2014-10-28 17:52:45 +0000
  • 0a7bd3159a added: [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 now Tomasz Sowa 2014-10-28 17:46:24 +0000
  • 6bd8889456 fixed: 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 used Tomasz Sowa 2014-10-21 07:21:20 +0000
  • 03fe124ad9 fixed: 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 default Tomasz Sowa 2014-10-19 21:09:34 +0000
  • 6f9f274e08 removed: AssignString() functions now we are using UTF-8 <-> wide characters conversions Tomasz Sowa 2014-10-19 05:46:49 +0000
  • 2fca5f3492 changed: 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 Sowa 2014-10-19 05:42:25 +0000
  • ad2fb11a5c fixed: compile error in item.h (in CacheFunctions) fixed: Pattern::ClearCache() was missing Tomasz Sowa 2014-10-17 23:56:30 +0000
  • 00f8af232b fixed: 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 directly Tomasz Sowa 2014-10-17 22:14:28 +0000
  • 429021f687 changed: 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 Sowa 2014-10-17 21:48:11 +0000
  • 71c5bd11d5 added: possibility to define a block changed: in Functions Functions are only for user-defined functions now (before they could remember a string variable too) added: class Vars for variables a variable can be a string or an alias to an other function or block added: now we can have nested functions calls e.g.: [function1 [function2]] in the above example an output (stream) from function2 will be passed as the first argument to funcion1 (will be passed as a string) removed: UTF8() method from PatternParser now it is treated that when we have only std::string (or char*) that this is an UTF-8 string Tomasz Sowa 2014-10-17 21:36:55 +0000
  • b5faf171e3 changed: Pattern class has been split into two classes: Pattern and PatternParser in Pattern we have only the tree in PatternParser there is the whole logic used to parse a file Tomasz Sowa 2014-10-11 19:56:48 +0000
  • fd75a1f119 copied: pattern.cpp -> patternparser.cpp Tomasz Sowa 2014-10-11 19:01:17 +0000
  • d9a8426ebc copied: parser.h -> patternparser.h Tomasz Sowa 2014-10-11 19:00:57 +0000
  • 759be64379 changed: now Patterns are read with UTF-8 enabled by default Tomasz Sowa 2014-10-09 20:46:58 +0000
  • ef16ae4ebd added: prefix/namespace Winix:: when using winix logger Tomasz Sowa 2014-02-12 16:26:48 +0000
  • 417e52a5a1 added some files/directories to svn:ignore Tomasz Sowa 2013-11-25 03:39:51 +0000
  • 5de31cfe41 fixed: renamed a local variable in Generator (it did not compile) Tomasz Sowa 2013-11-17 21:53:53 +0000
  • 9215130b9d added: possibility to generate output to more than one stream Generate() methods can take std::vector with pointers to streams added: 'ezc' keyword -- currently only for selecting streams e.g. [ezc stream "0" "3"] - after now the output is generated to streams 0 and 3 Tomasz Sowa 2013-11-07 10:16:10 +0000
  • 23ce3e83df changed: if EZC_USE_WINIX_LOGGER macro is defined then we add -I../../winix flag for compiling Tomasz Sowa 2013-10-15 23:48:06 +0000