Top / ReleaseNote Japanese

Release Note

  1. '07-04-28 Ver.1.8.1
  2. '06-02-13 Ver.1.8.0
  3. '05-08-09 Ver.1.7.2
  4. '05-02-15 Ver.1.7.1
  5. '03-12-06 Ver.1.7
  6. '03-09-18 Ver.1.6
  7. '03-07-29 Ver.1.5.2
  8. '03-04-27 Ver.1.5.1
  9. '03-04-05 Ver.1.5
  10. '01-05-02 Ver.1.4
  11. '01-04-20 Ver.1.3
  12. '00-01-15 Ver.1.02
  13. '99-09-20 Ver.1.01
  14. '99-07-03 Ver.1.00


  1. fix bug of the following member functions:

    child(), last(), parent(), del(), num() for jjAggregate
    child(), last(), num(), fwd() for jjCollect,
    child(), last(), num(), bwd(), fwd() for jjDCollect
    sel(), num() for jjHash
    first(), last(), from(), to(), fwd(), num() for jjGraph
    BEHAVIOR: When a class belong to multiple pattern and some situation returned null (e.g. end of iterator execution), these functions didn't correctly work.
  2. KNOWN ISSUE: Since g++ 3.? a lot of following warnings are reported:
    In member function `void foo::bar(...)':
    warning: invalid access to non-static data member `foo' of NULL object
    warning: (perhaps the `offsetof' macro was used incorrectly)
    This is not a really issue. I'll fix in later release.


  1. last() method is added to sequential container pattern (jjAggregate, jjCollect) and jjGraph.
  2. child() is now renamed to first() since opposite method last() is now introduced to all sequensial container patterns. It may be easy to memory first() <--> last() correspondence.
    child() is still valid for backward compativility.


  1. Fix bug of size_t macro in jj/pattern.h


  1. Fix ins() method bug for all container patterns


  1. Fix bug at jjHash::expand()
  2. Modify method to build FCGI version of jjLibrary
  3. Revise the way to build jjLibrary on HP-UX & aC++ environment


num() and ins() methods are added in pattern.


  1. FastCGI is now supported
  2. add HOWTO compile on HP-UX


Some errata in documents were fixed.


  1. Introduce GNU configure, automake, and libtools.
  2. jjLibrary is published at SourceForge.


Add the following new features in Ver.1.4:


Add the following new features in Ver.1.3:


Add the following new features in Ver.1.02:
  1. EXT_... can be declared in private part now
    Basically, embedded pattern should not be seen publically. Ver.1.02 supports EXT_... can be in private part. Of course, it can be in public part also.

  2. New Pattern: Tree
    Now you can build tree pattern by the following declaration:
    class Node {
    jjCollect(tree, Node, Node);	//or
    jjDCollect(tree, Node, Node);	//or
    jjAggregate(tree, Node, Node);	//or
    jjHash(tree, Node, Node);
    In general, Tree is defined as "The node is parent of sub-nodes". The above pattern declaration is just as this Tree's definition.
    I think this is jjpattern's uniq feature, which was not mentioned in [JIRI].

  3. New Pattern: jjCollect1, jjDCollect1
    jjCollect / jjDCollect requires two classes in general cases. However, in the simple case like "just want to use collection of A", it should be enough for pattern to require just one class 'A'. jjCollect1 / jjDCollect1 is used for this purpose. These two patterns are same as SINGLE_RING, DOUBLE_RING in [JIRI].

  4. Change pattern name: jjAssoc -> jjAggregate
    In order to avoid confusion, the name of pattern, which each element has pointer to its parent, is changed from jjAssoc to jjAggregate. (Normally, 'Assoc' is used as 'Associative array' in awk, Perl, and JavaScript, etc. as array whose key is string.)


Add rep() method


Initial Edition