Commit Graph

  • 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
  • ac37982ee7 fixed: in Generator: empty_stream() should be inited with its default cctor (an error when compiling with clang) Tomasz Sowa 2012-06-30 23:24:09 +0000
  • 68c1fb8ef8 fixed: Generator: when making [if-index] [if-index] statement has to look for a last [for] statement on the stack (because the stack is for all items now) Tomasz Sowa 2012-03-03 20:58:55 +0000
  • 787b5e99b2 changed: in Generator: now we have a stack item for all statements [if...] [normal_fun] etc. previously was only for [for ...] statements changed: FunInfo<> has a pointer to the current stack item changed: now we have a static number of stack items (default: 300) so you can remember a pointer to a stack item and this pointer is always valid Tomasz Sowa 2012-02-27 17:39:46 +0000
  • 4fc842ad91 added: to FunInfo<>: bool remove_fun_data fun_data is removed only when remove_fun_data is true (default) Tomasz Sowa 2012-02-25 03:29:44 +0000
  • 8e85a398d6 added: FunInfo<>::fun_data now we have a pointer to FunData struct by default the pointer is null you can create an object of a class derived from FunData an set the pointer to the object those pointers will be kept on the [for] stack and will be auto removed (not finished yet -- need some testing) added: to FunInfo<>:: bool is_if; bool is_is; bool is_normal; bool is_filter; removed: from FunInfo<>: bool is_for_first_iter; changed: in FunInfo<>: int iter -> size_t iter now it indicates the number of a current iteration for the [for] statement for other statements than [for] this is always zero (the same old behaviour as before revision 331) added: in FunInfo<>: size_t last_iter it indicates the number of a previous [for] iteration for a [for] it returns not the current iterator but a value from a previous [for] Tomasz Sowa 2012-02-24 12:04:36 +0000
  • 4480268172 added: two flags to FunInfo<> struct: // indicates that this function is from [for ...] statement bool is_for; Tomasz Sowa 2012-01-17 22:57:06 +0000
  • 71bec1049b updated Makefile Tomasz Sowa 2012-01-12 03:20:01 +0000
  • a728f86e05 now ezc is using 'pikotools' (utf8) Tomasz Sowa 2012-01-12 02:32:04 +0000
  • 2c3a2160af moving utf8.cpp from ezc to pikotools Tomasz Sowa 2012-01-11 11:15:36 +0000
  • faaac0de8a moving utf8.h from ezc to pikotools Tomasz Sowa 2012-01-11 11:15:20 +0000
  • c6b4db0aa9 added: methods Begin() and End() to Functions<> we can iterate through the whole functions table 0.9.5 Tomasz Sowa 2012-01-06 12:05:10 +0000
  • b4f7d4b8de added: size_t UTF8ToInt(const char * utf8, int & res, bool & correct) Tomasz Sowa 2011-08-27 19:14:20 +0000
  • 542587e5e8 deleted debug log Tomasz Sowa 2011-07-15 02:09:40 +0000
  • fb05eb6860 added some debug log Tomasz Sowa 2011-07-13 23:15:12 +0000
  • 8df9aa86a0 small changes in Makefile Tomasz Sowa 2011-06-06 20:36:19 +0000
  • 2d304a9714 changed to UTF-8: added support for UTF-16 when wchar_t is 2 bytes long Tomasz Sowa 2011-05-25 21:43:40 +0000
  • 861269383e changed: [is...] statements use only the output string now (when comparing) previously they used FunInfo::res, now they use FunInfo::out and the out string is not put to the main output stream added: FunInfo<>::case_sensitive (default true) when false then [is] statement is comparing in case insensitive manner changed: the out stream in [if...] [for] statements the output text is ingored now Tomasz Sowa 2011-04-26 17:17:06 +0000
  • 542e50d757 added filters: a new statement [filter] syntax: [filter funcion_name]....[end] everything which is between [filter] and [end] is processed normally and at the end it is passed to the function (function_name) FunInfo struct has 'in' input stream now Tomasz Sowa 2011-01-26 12:42:49 +0000
  • 3c85fa1a75 fixed: the exception for if-index in pattern (when caching is used) Tomasz Sowa 2011-01-23 14:16:49 +0000
  • fd2194623a changed: now [for] statements with the same function can be nested sample: [for my_function] [for my_function] foo [end] [end] Tomasz Sowa 2011-01-14 23:59:30 +0000
  • c4f5f79218 fixed: Item::Item(const Item & i) should clear the item table Tomasz Sowa 2010-12-06 00:22:38 +0000
  • 0b09b5454f added: Pattern::CacheFunctions(Functions<StreamType> & fun) you can cache all functions (their addresses) in the pattern Tomasz Sowa 2010-11-25 22:39:58 +0000
  • 5108495540 changed in Generator<>: StreamType we use method write where the content should not be escaped (html escaping) we use operator<< where the content can be escaped (such as error messages) Tomasz Sowa 2010-11-25 01:55:32 +0000
  • 33c86d494b fixed: performance (memcpy used too often) in some places there were reserve() method used (on std::wstring/std::string objects) especially in AssignString() methods if we add a new string we should check the new size and only call reserve() if the new size will be greater than existing one (plus some constant) added: Functions<>::Size() method Tomasz Sowa 2010-11-23 21:59:52 +0000
  • 8f94937ed1 added: support for UTF-8 (files utf8.h utf8.cpp) they can be even used without the rest library as only a library for converting between wide characters and UTF-8 changed: everywhere we use std::wstring instead of std::string changed: Generator and Functions are templates now they take a stream type renamed: Info to FunInfo and it is a template too taking a stream type Tomasz Sowa 2010-11-22 01:23:32 +0000
  • b5ea2514e2 added to Generator: void RecognizeSpecialChars(bool spec); recognizing some special characters in text patterns (item_text in Patterns) \r will be a carriage return (13) \n will be a new line (10) \t will be a tabulator (9) \s will be a space \\ will be one '\' default: false Tomasz Sowa 2010-09-07 23:52:41 +0000
  • 376fe414f8 small refactoring: changed item_table to item_tab Tomasz Sowa 2010-08-17 23:22:55 +0000
  • 7554630395 changed: testing file names now it is allowed to use a slash (we can use directories) only ".." is not allowed (you cannot go up in a directory structure) Tomasz Sowa 2010-08-02 18:47:19 +0000
  • 573d241dc1 changed: functions can have more than one parameter and the parameters can be used in [if...] statements too Tomasz Sowa 2010-07-19 23:07:00 +0000
  • c807d1c9b3 as a white character can be ascii 160 code (nonbreakable space) Tomasz Sowa 2010-06-30 18:43:33 +0000
  • b89c6daa7d added: an optional string parameter to normal statement e.g. [function "parameter"] parameters to "for" statement [for function "parameter"] changed: in Info struct there is a "par" std::string reference now changed: Info::result to Info::res removed: Info::is Tomasz Sowa 2010-05-30 21:07:15 +0000
  • f65178dd0e fixed: when Pattern::allow_include was false then nothing was read added: ezc can use the logger from winix added: we check how many [include] directive was called (if more than 100 then we break - supposing infinite loop) added: in Pattern we read from two directories if a file is not in the first directory then we try to read from the other one Tomasz Sowa 2010-02-15 00:19:31 +0000
  • bb00f23f29 changed: limits in generator Tomasz Sowa 2010-02-13 19:55:51 +0000
  • 31156d33f3 added: directive [is-no ...] negative to [is ...] Tomasz Sowa 2010-02-11 20:03:51 +0000
  • e71c213ad1 added: Pattern::Clear() Tomasz Sowa 2010-01-28 16:14:47 +0000
  • b2aacc2da3 changed: [is ...] command struct Info doesn't have out_string now Tomasz Sowa 2010-01-25 05:19:54 +0000
  • dbe91a6d91 added: Patter::delete_all_white flag if true all text-items which have only white characters (with new lines as well) will be deleted this not actually delete the whole item but only the string the item will be present with an empty string default: false Tomasz Sowa 2009-12-09 00:34:17 +0000
  • 9b4586d7be small changes in Makefile Tomasz Sowa 2009-11-13 21:10:06 +0000
  • 141e1f67b3 added: Pattern::allow_include flag (default true) if false there is no allowed [include ...] directive (this directive will be skipped) added: Pattern::ParseString(const std::string & str); Pattern::ParseString(const char * str); can create the pattern from a string Tomasz Sowa 2009-01-23 23:18:54 +0000
  • f8f55eae77 added: src/Makefile and src/Makefile.dep the ezc.a library is built now Tomasz Sowa 2008-12-30 01:21:30 +0000
  • 0b88257e08 added: directive [if-no fun1 fun2 ...] if fun1 fun2 ... return false then the content is evaluated changed: [if-one fun1 fun2 ...] when a function (from left to right) returns true then the content is evaluated (previous all functions were called) 0.9.2 Tomasz Sowa 2008-12-23 20:08:11 +0000
  • 0760313ec3 changing version info to: 0.9.1 0.9.1 Tomasz Sowa 2008-12-10 01:59:39 +0000
  • 54be9c0489 changed: the interface in this version is not the same as previous added: class Functions, you can define your own set of functions and then put them into the Generator added: variables parser is able to parse the "def" directive: [def variable "value"] [def variable another_variable] [def variable another_function] variables are put into a Functions object added: class Info has a reference to std::ostringstream (out) added: limit for a "for" directive limit for the whole tree (when genereting) this is to protect for a case when someone makes an infinite loop changed: many small changes Tomasz Sowa 2008-12-10 01:46:10 +0000
  • bf585d3716 moving cgi/ezc into / Tomasz Sowa 2008-12-10 00:56:56 +0000
  • 69bd57f428 added Ezc::SplitUnixDirectory(...) it's possible to give the path into the working directory in the Pattern::ParseFile(...) without using the Pattern::Directory(...) added [#] (commentary) [include] now can open a file only in a specific directory 0.9.0 Tomasz Sowa 2007-01-27 13:52:18 +0000
  • e42117714a completely rewritten * Ezc is now a namespace * added Ezc::Pattern * added Ezc::Generator added [if-one] fixed a problem with memory lack Tomasz Sowa 2007-01-26 19:29:36 +0000
  • 043a5f2131 Ezc::ReadFile has gone Ezc::CreateTree takes a name of an input file added [for ...] added [if-index ...] added [is ....] added [include...] (not all finished) Tomasz Sowa 2007-01-25 21:42:54 +0000
  • ac632987f3 added [for] EzcInfo pushed into Ezc:: added info about a wrong directive Tomasz Sowa 2007-01-25 08:25:40 +0000
  • 700dcd0571 initial import Tomasz Sowa 2007-01-24 20:01:55 +0000