/[publicrep]/ezc/trunk
ViewVC logotype

Log of /ezc/trunk

View Directory Listing Directory Listing


Sticky Revision:

Revision 446 - Directory Listing - [select for diffs]
Modified Sun Nov 17 21:53:53 2013 UTC (9 years, 4 months ago) by tomek
Diff to previous 445
fixed: renamed a local variable in Generator (it did not compile)



Revision 445 - Directory Listing - [select for diffs]
Modified Thu Nov 7 10:16:10 2013 UTC (9 years, 4 months ago) by tomek
Diff to previous 442
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
  


Revision 442 - Directory Listing - [select for diffs]
Modified Tue Oct 15 23:48:06 2013 UTC (9 years, 5 months ago) by tomek
Diff to previous 420
changed: if EZC_USE_WINIX_LOGGER macro is defined then we add -I../../winix flag 
         for compiling



Revision 420 - Directory Listing - [select for diffs]
Modified Sat Jun 30 23:24:09 2012 UTC (10 years, 8 months ago) by tomek
Diff to previous 394
fixed: in Generator: empty_stream() should be inited with its default cctor
       (an error when compiling with clang)



Revision 394 - Directory Listing - [select for diffs]
Modified Sat Mar 3 20:58:55 2012 UTC (11 years ago) by tomek
Diff to previous 393
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)


Revision 393 - Directory Listing - [select for diffs]
Modified Mon Feb 27 17:39:46 2012 UTC (11 years ago) by tomek
Diff to previous 392
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


Revision 392 - Directory Listing - [select for diffs]
Modified Sat Feb 25 03:29:44 2012 UTC (11 years ago) by tomek
Diff to previous 391
added: to FunInfo<>:
       bool remove_fun_data
       fun_data is removed only when remove_fun_data is true (default)


Revision 391 - Directory Listing - [select for diffs]
Modified Fri Feb 24 12:04:36 2012 UTC (11 years ago) by tomek
Diff to previous 380
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]



Revision 380 - Directory Listing - [select for diffs]
Modified Tue Jan 17 22:57:06 2012 UTC (11 years, 2 months ago) by tomek
Diff to previous 378
added: two flags to FunInfo<> struct:
       // indicates that this function is from [for ...] statement
       bool is_for;

       // indicates that this function is from [for ...] statement
       // and this is a first iteration (iter=0 too)
       // this is only for convenience -- you don't have to check is_for and iter==0
       bool is_for_first_iter;



Revision 378 - Directory Listing - [select for diffs]
Modified Thu Jan 12 03:20:01 2012 UTC (11 years, 2 months ago) by tomek
Diff to previous 372
updated Makefile


Revision 372 - Directory Listing - [select for diffs]
Modified Thu Jan 12 02:32:04 2012 UTC (11 years, 2 months ago) by tomek
Diff to previous 367
now ezc is using 'pikotools' (utf8)


Revision 367 - Directory Listing - [select for diffs]
Modified Wed Jan 11 11:15:36 2012 UTC (11 years, 2 months ago) by tomek
Diff to previous 366
moving utf8.cpp from ezc to pikotools


Revision 366 - Directory Listing - [select for diffs]
Modified Wed Jan 11 11:15:20 2012 UTC (11 years, 2 months ago) by tomek
Diff to previous 360
moving utf8.h from ezc to pikotools


Revision 360 - Directory Listing - [select for diffs]
Modified Fri Jan 6 12:05:10 2012 UTC (11 years, 2 months ago) by tomek
Diff to previous 359
added: methods Begin() and End() to Functions<>
       we can iterate through the whole functions table


Revision 359 - Directory Listing - [select for diffs]
Modified Sat Aug 27 19:14:20 2011 UTC (11 years, 6 months ago) by tomek
Diff to previous 358
added: size_t UTF8ToInt(const char * utf8, int & res, bool & correct)


Revision 358 - Directory Listing - [select for diffs]
Modified Fri Jul 15 02:09:40 2011 UTC (11 years, 8 months ago) by tomek
Diff to previous 357
deleted debug log


Revision 357 - Directory Listing - [select for diffs]
Modified Wed Jul 13 23:15:12 2011 UTC (11 years, 8 months ago) by tomek
Diff to previous 356
added some debug log


Revision 356 - Directory Listing - [select for diffs]
Modified Mon Jun 6 20:36:19 2011 UTC (11 years, 9 months ago) by tomek
Diff to previous 345
small changes in Makefile


Revision 345 - Directory Listing - [select for diffs]
Modified Wed May 25 21:43:40 2011 UTC (11 years, 9 months ago) by tomek
Diff to previous 344
changed to UTF-8: added support for UTF-16 when wchar_t is 2 bytes long


Revision 344 - Directory Listing - [select for diffs]
Modified Tue Apr 26 17:17:06 2011 UTC (11 years, 10 months ago) by tomek
Diff to previous 333
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



Revision 333 - Directory Listing - [select for diffs]
Modified Wed Jan 26 12:42:49 2011 UTC (12 years, 1 month ago) by tomek
Diff to previous 332
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



Revision 332 - Directory Listing - [select for diffs]
Modified Sun Jan 23 14:16:49 2011 UTC (12 years, 2 months ago) by tomek
Diff to previous 331
fixed: the exception for if-index in pattern (when caching is used)


Revision 331 - Directory Listing - [select for diffs]
Modified Fri Jan 14 23:59:30 2011 UTC (12 years, 2 months ago) by tomek
Diff to previous 330
changed: now [for] statements with the same function can be nested
sample:
[for my_function]
 [for my_function]
   foo
 [end]
[end]

changed: FunInfo::iter has a value from the last [for] statement now
sample:
[for my_function]
 [other_function]
[end]

void other_function(Info &i)
{
// here i.iter is the number of iteration
// previously was always zero
}

changed: small optimization in [for]
the proper function is being looking for only once at the beginning
previously it was searched in each iteration



Revision 330 - Directory Listing - [select for diffs]
Modified Mon Dec 6 00:22:38 2010 UTC (12 years, 3 months ago) by tomek
Diff to previous 329
fixed: Item::Item(const Item & i) should clear the item table


Revision 329 - Directory Listing - [select for diffs]
Modified Thu Nov 25 22:39:58 2010 UTC (12 years, 3 months ago) by tomek
Diff to previous 328
added: Pattern::CacheFunctions(Functions<StreamType> & fun)
       you can cache all functions (their addresses) in the pattern

changed: now we have two methods for generating content:
       Generator<>::Generate(StreamType & o, Pattern & p, Functions<StreamType> & f);
       similar like previous -- Set(...) methods were removed as well as the second ctor 

       and a second one:
       Generate(StreamType & o, Pattern & p);
       without functions, the functions should be cached beforehand in the pattern
       by calling CacheFunctions() method on the pattern
       this gives O(1) complexity when looking for a specific function
       previously was O(log n) 
       


Revision 328 - Directory Listing - [select for diffs]
Modified Thu Nov 25 01:55:32 2010 UTC (12 years, 3 months ago) by tomek
Diff to previous 327
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)

PrintSpecialText() and PrintNormalText() are a little faster now
we use 'write' for a whole text instead of printing each character



Revision 327 - Directory Listing - [select for diffs]
Modified Tue Nov 23 21:59:52 2010 UTC (12 years, 4 months ago) by tomek
Diff to previous 326
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



Revision 326 - Directory Listing - [select for diffs]
Modified Mon Nov 22 01:23:32 2010 UTC (12 years, 4 months ago) by tomek
Diff to previous 305
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

now you can use other kind of streams with the library
previous was only std::ostringstream



Revision 305 - Directory Listing - [select for diffs]
Modified Tue Sep 7 23:52:41 2010 UTC (12 years, 6 months ago) by tomek
Diff to previous 300
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

void TrimWhite(bool trim);
  trimming white characters (at the beginning and at the end of an item_text)
  (special char \s if enabled is not treated as a white character here)
  default: false 

void SkipNewLine(bool skip);
  skipping new line characters (from the whole string in an item_text)
  but you can use a new line character written as "\n" (if special chars are turn on)
  default: false
						       


Revision 300 - Directory Listing - [select for diffs]
Modified Tue Aug 17 23:22:55 2010 UTC (12 years, 7 months ago) by tomek
Diff to previous 299
small refactoring: changed item_table to item_tab


Revision 299 - Directory Listing - [select for diffs]
Modified Mon Aug 2 18:47:19 2010 UTC (12 years, 7 months ago) by tomek
Diff to previous 298
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)


Revision 298 - Directory Listing - [select for diffs]
Modified Mon Jul 19 23:07:00 2010 UTC (12 years, 8 months ago) by tomek
Diff to previous 297
changed:
functions can have more than one parameter and the parameters can be used in [if...] statements too

sample:
[normal_function "par1" "par2" "par3"]
[if-one function "par1" "par2" "par3"]...[end]

each function can have its own parameters:
[if-one function1 "par1" "par2" "par3" function2 "par" "par2"]...[end]

changed:
[is] is now [if] (not exactly but very similar)
[is-no] is now [if-no] (the same)

[if] and [if-no] are taking one function (with or without arguments)
sample:
[if function]...[end]
[if function "par1"]...[end]
[if function "par1" "par2" "par3" "par4"]...[end]

[is] is taking two functions now and evaluates them to boolean value
(variables are also evaluated to boolean - if not empty that means true)

[is function1 function2]...[end]
[is variable1 variable2] either variable1 and variable2 are empty or both are not empty
(they don't have to be equal)[end]

added:
[if-any-no fun1 fun2 fun3] the three functions have to return false [end] 
[if-one-no fun1 fun2 fun3] one the the three functions have to return false [end]

removed:
extracting the unix directory from the file name (in patterns)
you have to call Pattern::Directory() method first to set directories



Revision 297 - Directory Listing - [select for diffs]
Modified Wed Jun 30 18:43:33 2010 UTC (12 years, 8 months ago) by tomek
Diff to previous 295
as a white character can be ascii 160 code (nonbreakable space)


Revision 295 - Directory Listing - [select for diffs]
Modified Sun May 30 21:07:15 2010 UTC (12 years, 9 months ago) by tomek
Diff to previous 292
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


Revision 292 - Directory Listing - [select for diffs]
Modified Mon Feb 15 00:19:31 2010 UTC (13 years, 1 month ago) by tomek
Diff to previous 291
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




Revision 291 - Directory Listing - [select for diffs]
Modified Sat Feb 13 19:55:51 2010 UTC (13 years, 1 month ago) by tomek
Diff to previous 290
changed: limits in generator


Revision 290 - Directory Listing - [select for diffs]
Modified Thu Feb 11 20:03:51 2010 UTC (13 years, 1 month ago) by tomek
Diff to previous 282
added: directive [is-no ...]  negative to [is ...]


Revision 282 - Directory Listing - [select for diffs]
Modified Thu Jan 28 16:14:47 2010 UTC (13 years, 1 month ago) by tomek
Diff to previous 281
added: Pattern::Clear()


Revision 281 - Directory Listing - [select for diffs]
Modified Mon Jan 25 05:19:54 2010 UTC (13 years, 1 month ago) by tomek
Diff to previous 260
changed: [is ...] command
struct Info doesn't have out_string now



Revision 260 - Directory Listing - [select for diffs]
Modified Wed Dec 9 00:34:17 2009 UTC (13 years, 3 months ago) by tomek
Diff to previous 241
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



Revision 241 - Directory Listing - [select for diffs]
Modified Fri Nov 13 21:10:06 2009 UTC (13 years, 4 months ago) by tomek
Diff to previous 94
small changes in Makefile


Revision 94 - Directory Listing - [select for diffs]
Modified Fri Jan 23 23:18:54 2009 UTC (14 years, 1 month ago) by tomek
Diff to previous 93
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


Revision 93 - Directory Listing - [select for diffs]
Modified Tue Dec 30 01:21:30 2008 UTC (14 years, 2 months ago) by tomek
Diff to previous 91
added: src/Makefile and src/Makefile.dep
       the ezc.a library is built now


Revision 91 - Directory Listing - [select for diffs]
Modified Tue Dec 23 20:08:11 2008 UTC (14 years, 3 months ago) by tomek
Diff to previous 89
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)


Revision 89 - Directory Listing - [select for diffs]
Modified Wed Dec 10 01:59:39 2008 UTC (14 years, 3 months ago) by tomek
Diff to previous 88
changing version info to: 0.9.1


Revision 88 - Directory Listing - [select for diffs]
Modified Wed Dec 10 01:46:10 2008 UTC (14 years, 3 months ago) by tomek
Diff to previous 86
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


Revision 86 - Directory Listing - [select for diffs]
Modified Wed Dec 10 00:56:56 2008 UTC (14 years, 3 months ago) by tomek
Diff to previous 9
moving cgi/ezc into /


Revision 9 - Directory Listing - [select for diffs]
Modified Sat Jan 27 13:52:18 2007 UTC (16 years, 1 month ago) by tomek
Original Path: cgi/ezc/trunk
Diff to previous 7
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


Revision 7 - Directory Listing - [select for diffs]
Modified Fri Jan 26 19:29:36 2007 UTC (16 years, 1 month ago) by tomek
Original Path: cgi/ezc/trunk
Diff to previous 6
completely rewritten
 * Ezc is now a namespace
 * added Ezc::Pattern
 * added Ezc::Generator
added [if-one]
fixed a problem with memory lack


Revision 6 - Directory Listing - [select for diffs]
Modified Thu Jan 25 21:42:54 2007 UTC (16 years, 1 month ago) by tomek
Original Path: cgi/ezc/trunk
Diff to previous 5
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)


Revision 5 - Directory Listing - [select for diffs]
Modified Thu Jan 25 08:25:40 2007 UTC (16 years, 1 month ago) by tomek
Original Path: cgi/ezc/trunk
Diff to previous 4
added [for]
EzcInfo pushed into Ezc::
added info about a wrong directive


Revision 4 - Directory Listing - [select for diffs]
Added Wed Jan 24 20:01:55 2007 UTC (16 years, 2 months ago) by tomek
Original Path: cgi/ezc/trunk
initial import

svnadmin@ttmath.org
ViewVC Help
Powered by ViewVC 1.2.1