The Project

Timeline

and .

11/20/08:

17:52 Ticket #246 (enhancement) closed by kevin
fixed: Done in [2250]
17:51 Changeset [2250] by flaviusaetius
  • trunk/lexi/src/output-c/c-output.c

Not generating the include header file directive when output is standard output: see tickt 246

11/19/08:

16:09 Ticket #89 (enhancement) closed by kate
invalid: I don't see how we could, unless we express the trie as an FSM.

11/18/08:

12:49 Changeset [2249] by flaviusaetius
  • trunk/lexi/src/lctlexer.c
  • trunk/lexi/src/lctlexer.h
  • trunk/lexi/src/lctlexer.lct
  • trunk/lexi/src/main.c

Input variable lct_file is not a global anymore

11/17/08:

15:27 Ticket #105 (feature request) closed by kate
wontfix: This has nothing to do with IF()s per-se; that was just a use-case. …
15:17 Ticket #80 (feature request) closed by kevin
fixed: Done in [2248]. Putting ARGUMENT name:ctype; in the lct file will add a …
14:30 Changeset [2248] by flaviusaetius
  • trunk/lexi/src/lctlexer.c
  • trunk/lexi/src/lexer.lct

Regenerating lctlexer.c and correcting a small error in lexer.lct as per 2247

14:26 Changeset [2247] by flaviusaetius
  • trunk/lexi/src/lctsyntax.c
  • trunk/lexi/src/lexer.c
  • trunk/lexi/src/lexer.h
  • trunk/lexi/src/lexer.lct
  • trunk/lexi/src/main.c
  • trunk/lexi/src/output-c/c-output.c

Making lex_input a member of the state variable

13:53 Changeset [2246] by flaviusaetius
  • trunk/lexi/src/adt/char.c
  • trunk/lexi/src/lctlexer.c
  • trunk/lexi/src/lctlexer.h
  • trunk/lexi/src/lctlexer.lxi
  • trunk/lexi/src/lctsyntax.act
  • trunk/lexi/src/lctsyntax.c
  • trunk/lexi/src/lctsyntax.h
  • trunk/lexi/src/lctsyntax.sid
  • trunk/lexi/src/lexer.c
  • trunk/lexi/src/lexer.h
  • trunk/lexi/src/lexer.lct
  • trunk/lexi/src/output-c/c-output.c

Adding the ability to include other components to the lexer state. In the lct file one can put a stattement of the form ARGUMENT name:ctype; All those arguments will be part of the state structure and will be initializable through the (lexiprefix)_init function. Use of this feature will happen in lexi's own lexer.lxi file in an upcomming patch

11/14/08:

11:39 Changeset [2245] by flaviusaetius
  • trunk/lexi/src/adt/char.h
  • trunk/lexi/src/adt/group.c
  • trunk/lexi/src/adt/group.h
  • trunk/lexi/src/adt/tree.c
  • trunk/lexi/src/adt/tree.h
  • trunk/lexi/src/adt/zone.h
  • trunk/lexi/src/output-c/c-output.c

Splitting char_group to ease group merging. Group merging will come in an upcoming patch

11/03/08:

00:00 Changeset [2244] by flaviusaetius
  • trunk/lexi/tests/fail-actions-a.lxi

A new test case for lexi

11/02/08:

22:00 Changeset [2243] by kate
  • trunk/lexi/src/lctlexer.c
  • trunk/lexi/src/lctlexer.h
  • trunk/lexi/src/lexer.c
  • trunk/lexi/src/lexer.h

Regenerated post-[2241].

21:04 Changeset [2242] by flaviusaetius
  • trunk/sid/src/lang-c/c-lexer.c
  • trunk/sid/src/lang-c/c-lexer.h
  • trunk/sid/src/lang-c/c-lexi_lexer.c
  • trunk/sid/src/lang-c/c-lexi_lexer.h
  • trunk/sid/src/lang-c/c-lexi_lexer.lct
  • trunk/sid/src/lang-c/c-lexi_lexer.lxi
  • trunk/sid/src/lexi_lexer.c
  • trunk/sid/src/lexi_lexer.h
  • trunk/sid/src/parser.c

Removing all direct function calls from sid's lxi files

13:48 Changeset [2241] by kate
  • trunk/lexi/src/Makefile
  • trunk/lexi/src/adt/Makefile
  • trunk/lexi/src/adt/char.c
  • trunk/lexi/src/adt/char.h
  • trunk/lexi/src/adt/group.c
  • trunk/lexi/src/adt/group.h
  • trunk/lexi/src/adt/letter.c
  • trunk/lexi/src/adt/letter.h
  • trunk/lexi/src/adt/tree.c
  • trunk/lexi/src/adt/tree.h
  • trunk/lexi/src/adt/zone.c
  • trunk/lexi/src/adt/zone.h
  • trunk/lexi/src/lctsyntax.c
  • trunk/lexi/src/main.c
  • trunk/lexi/src/options.h
  • trunk/lexi/src/output-c/c-output.c
  • trunk/lexi/src/output-dot/dot-output.c
  • trunk/lexi/src/syntax.act
  • trunk/lexi/src/syntax.c
  • trunk/lexi/src/syntax.h

This is a refactoring of the datastructures forming Lexi's character trie. It concentrates mostly on simplifying the data forming the trie itself, rather than attempting to clean up the supporting code. Since the underlying datastructures are different, much of that supporting code is reworked neccessarily, but further excursions are kept to a minimum. In particular, I've tried to leave c-output.c alone as alone as possible.

The most significant implementation changes are:

  • The trie's special-case leaf and root nodes have been removed.
  • The trie's internal EOF character has been removed (stdio's EOF is used instead).
  • The special-case not_in_group type has been removed.
  • The gruntwork of numbering groups (and therefore the total number of groups permitted) is now moved to the output code.
  • Character translations have been removed; these values are folded into the trie directly.

Side-effects are:

  • EOF is no longer permitted in groups
  • Empty groups are not present in the lookup table.
  • Groups may now contain character \0.
  • Group inversion is supported for including subsets: GROUP a = "[^b]";

10/31/08:

19:04 Changeset [2240] by flaviusaetius
  • trunk/lexi/src/adt/instruction.c
  • trunk/lexi/src/adt/instruction.h
  • trunk/lexi/src/output-c/c-output.c
  • trunk/lexi/src/output-dot/dot-output.c
  • trunk/lexi/src/syntax.act
  • trunk/lexi/src/syntax.c
  • trunk/lexi/src/syntax.h
  • trunk/lexi/src/syntax.sid

Removing all references to direct function calls which are an obsolete feature

10/26/08:

19:15 Changeset [2239] by flaviusaetius
  • trunk/lexi/src/output-c/c-output.c

In output_locals, the variable representing the type of a local variable in a token instruction list was not set.


Note: See TracTimeline for information about the timeline view.