Commit graph

21 commits

Author SHA1 Message Date
Olivier Teulière
418bf51781 Automaton: use the logging macros for debug messages, and clean up a little 2012-05-16 22:07:48 +02:00
Olivier Teulière
3c7a84d543 Support saving/loading games (any game type) in XML format.
Status:
It works well, but there are still a few details to improve/fix

More details about the changes:
 - New dependency on Arabica and Libxml2 to parse the XML
 - Loading the old format is still supported for this release, but won't be supported anymore in the next one
 - Games are now only saved in the new format
 - In training mode, the player is now created externally, like in the other modes
 - Avoid using GameIO (the one from game/) whenever possible
 - Do not use a FILE* argument anymore when loading a game
 - Throw and catch exceptions correctly when a game cannot be loaded or saved
 - The non-regression tests now use a new method to print the game history
2009-11-29 16:01:31 +00:00
Olivier Teulière
70be50c64e A lot of clean-up:
- Removed logiv from the History class
 - Used BOOST_FOREACH to simplify loops
 - Remove useless annotations and doxygen blocks
 - Added some constness
 - Marked Training::setRack() as deprecated
 - Improved compilation order in game/
2008-11-22 13:09:28 +00:00
Olivier Teulière
cad582d912 Fixed a off-by-one error. 2008-07-28 18:37:09 +00:00
Olivier Teulière
2b161abd2c Added consts, renamed a class, and simplified the code using vectors 2008-07-27 15:28:50 +00:00
Olivier Teulière
90badeca21 - Fixed a bug in the parser, preventing to parse correctly some regular expressions with wide chars. The regular expressions seem now to work fine with a dictionary using polish words.
- More C++ in the automaton code
 - Simplified the code in several places
2008-07-27 13:32:47 +00:00
Olivier Teulière
0bfcad6d58 Various little fixes to the regexp engine to support wide characters.
It now works fine on any dictionary using non-ASCII characters!
2008-07-13 07:55:47 +00:00
Olivier Teulière
11adaba410 - Added several tests for the regular expressions engine
- New regexp parser using Boost.Spirit. Lex and yacc are now gone.
   The main advantage of this new parser, apart from being purely C++,
   is that it can handle wide characters.
   Currently, the new parser does the same as the previous one, but the
   code is not yet ready to use regular expressions with non-ASCII
   dictionaries.
2008-07-07 17:29:59 +00:00
Olivier Teulière
e7a8d01a8d Merged the "cppdic" branch back into HEAD.
There are too many change to list properly, here is an overview of the main changes:
 - the dictionary is now in C++
 - the dictionary has a new format, where it is possible to specify the letters,
   their points, their frequency, ... It is backwards compatible.
 - Eliot now supports non-ASCII characters everywhere
 - i18n of the compdic, listdic, regexpmain binaries
 - i18n of the wxWidgets interface (now in english by default)
2008-01-08 13:52:32 +00:00
Antoine Fraboulet
c44a16dc13 - small typo fix in comments
- add doxygen file description
  - revert Dic_chr / board_search patch
    returning the character instead of the code
    was a HUGE performance penalty
    The dictionary must use codes, the board must be
    made to use codes instead of dic using tiles.
  - add Dic_char and Dic_char_lookup as temporary
    fixes for board_search. Should modify Board and Cross class
    instead.
  - create dic_code_t type
2006-01-01 19:51:00 +00:00
Olivier Teulière
b54b760677 Backported modifications in dic/ 2005-11-05 17:56:22 +00:00
Olivier Teulière
fe13a5e627 Removed the $Id:$ lines on HEAD 2005-11-04 20:00:05 +00:00
Olivier Teulière
e3bc46b114 Updated licence text with FSF's new address. 2005-10-23 14:53:42 +00:00
Antoine Fraboulet
b9f9bd763e - regexp are now complete and correct
- licence update in files header
2005-05-05 23:45:04 +00:00
Antoine Fraboulet
49a41bb311 - added + ? and [^xx] works in most of the cases, automata is no more
deterministic, I have to rewrite the automaton_build to correct this.
2005-04-27 17:35:03 +00:00
Antoine Fraboulet
a0b083e83b adding QMARK, PLUS 2005-04-25 08:18:24 +00:00
Antoine Fraboulet
be0dea2a08 - documentation added for the dictionary
- regexp is now working (still needs some testing)
- regexp syntax error recovery is not implemented
2005-04-19 16:26:50 +00:00
Antoine Fraboulet
ad5b5963d5 *** empty log message *** 2005-04-18 17:40:36 +00:00
Antoine Fraboulet
59f7c6df9c yyparser ok. must change things to have a unique prefix instead of yy* 2005-04-16 20:55:51 +00:00
Antoine Fraboulet
4f1420ed31 - minor dictionary .h changes
- starting integrating regexp into eliot
2005-04-09 19:16:09 +00:00
Antoine Fraboulet
1b498989bd dbut des ER, parcours d'arbre ok, construction automate ok. Manque construction
de l'arbre et utilisation automate avec dictionnaire.
2004-06-20 20:13:59 +00:00