aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/parser
AgeCommit message (Collapse)Author
2012-02-21Merge pull request #182 from fingolfin/forbid-ctypeWillem Jan Palenstijn
ALL: Avoid using is* macros from ctype.h
2012-02-20COMMON: Move isFoo functions to namespace Common, add doxygen commentsMax Horn
2012-02-15JANITORIAL: Fix missing whitespace in pointer castTarek Soliman
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g' This seems to have caught some params as well which is not undesirable IMO. It also caught some strings containing this which is undesirable so I excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15ALL: Avoid using is* macros from ctype.hMax Horn
On some systems, passing signed chars to macros like isspace() etc. lead to a runtime error. Hence, mark these macros as forbidden by default, and introduce otherwise equivalent alternatives for them.
2011-08-07JANITORIAL: Remove trailing empty lines.Christoph Mallon
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-14SCI: Don't do suffix expansions after exact dict matchWillem Jan Palenstijn
This fixes the parsing of "buy healing pills" in QfG2 (bug #3288328). The behaviour is half-confirmed with experimentation in SSCI.
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-03-29JANITORIAL: Remove/comment unused varsdhewg
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-08SCI: Remove unused argument to saidWillem Jan Palenstijn
2011-02-27SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLYmd5
This renaming allows us to better distinguish that this version is for games that only had an EGA version, and avoid confusion with newer SCI1 game releases with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2, a SCI1 EGA game with a parser. Also, added some games for each SCI version.
2010-12-26SCI: Silence a gcc warningMatthew Hoops
svn-id: r55043
2010-12-24SCI: Now saving/loading the list of synonyms (set by kSetSynonyms), like ↵Filippos Karapetis
SSCI did This is a more correct way of fixing bug #3037618 than in rev #55017. - Changed replaceant/replacement to be uint16's (they're very small positive values, usually smaller than 4096) - Changed SynonymList to an Array (so that it can be saved/loaded) - Removed the PQ2 script patch to Game::replay() - Added savegame history svn-id: r55032
2010-12-07SCI: Removed the system strings code and replaced it with a much more ↵Filippos Karapetis
simplified version, thus greatly simplifying handling of system strings svn-id: r54805
2010-11-02SCI: Remove any use of printfMax Horn
svn-id: r54037
2010-11-01GUI: Add GCC_PRINTF to GUI::Debugger::DebugPrintf & fix resulting warningsMax Horn
svn-id: r54007
2010-10-03SCI: Support alternative inputs from vocab 913Willem Jan Palenstijn
This allows the input of accented characters and Japanese using plain ascii in non-English games. svn-id: r53001
2010-10-03SCI: Remove unused functionWillem Jan Palenstijn
svn-id: r52990
2010-10-03SCI: Allow multiple word groups in parserWillem Jan Palenstijn
In SCI01 and up, each typed word may be interpreted as multiple class,group pairs. This patch adds support to the vocabulary and parser. It uses the matcher support added in r52985. This fixes parser issues in German LSL3, but needs testing. svn-id: r52989
2010-10-02SCI: Fix memleakWillem Jan Palenstijn
svn-id: r52986
2010-10-02SCI: Allow multiple word groups in parse tree leafsWillem Jan Palenstijn
This is to prepare for multilingual SCI versions. In those a single typed word may be parsed to multiple class,group pairs, any of which may match the said specs. The actual parsing is not yet implemented. svn-id: r52985
2010-10-02SCI: Fix typo in testcaseWillem Jan Palenstijn
svn-id: r52984
2010-07-28SCI: Fix using the parser in SCI Fan GamesMatthew Hoops
Get a pointer to the said spec instead of copying to a buffer. The fan games use a said spec with size < 64. Also, make said() take a const pointer as the spec cannot change. Thanks to waltervn and wjp. svn-id: r51432
2010-07-28SCI: Remove SCI01 vocab warning, this behavior is normalMatthew Hoops
svn-id: r51421
2010-07-24SCI: added said spec dump ability to logkernelMartin Kiewitz
svn-id: r51242
2010-07-22SCI: Add more parser test casesWillem Jan Palenstijn
svn-id: r51167
2010-07-22SCI: Swap suffix' class_mask result_classWillem Jan Palenstijn
Now 'coldly' is correctly recognized as the adverb form of 'cold', and 'attained' as the adjective form of 'attain'. svn-id: r51166
2010-07-21SCI: Rewrite said spec handling.Willem Jan Palenstijn
We now use a manual parser instead of a bison-generated one, and the new code to match said trees with parse trees matches sierra's more closely. Also change the parse/spec tree nodes to use direct pointers to their child nodes to make it more convenient to manipulate the trees. This has a high potential for regressions. svn-id: r51099
2010-07-19SCI: make sci0 foreign vocabulary also workMartin Kiewitz
makes pq2 load japanese vocabulary too svn-id: r51033
2010-07-19SCI: fix regression of r51027Martin Kiewitz
we have to reset the parser when switching vocabulary svn-id: r51031
2010-07-19SCI: parser now matches extended chars tooMartin Kiewitz
fixes multilingual games not accepting words that contain extended chars (>= 0x80) svn-id: r51029
2010-07-19SCI: implement foreign vocabulary supportMartin Kiewitz
not fully working, extended chars do not work currently as input svn-id: r51027
2010-07-19SCI: fix parser crash on >=0x80 charsMartin Kiewitz
svn-id: r51025
2010-07-19SCI: vocab version change for pq2 japaneseMartin Kiewitz
pq2 japanese only uses sci01 vocabulary and everything else is still like in sci0 - fixes pq2 not accepting any input in parser svn-id: r51024
2010-07-18SCI: Work on optional expressions in said rules.Willem Jan Palenstijn
This fixes a number of said specs in Iceman, but has a good chance of introducing regressions since it's fairly invasive. It also removes the need for the hack in r50958. svn-id: r50992
2010-07-17SCI: adding detection for SCI01 vocab inside a SCI0 game that's using the ↵Martin Kiewitz
SCI0 vocab resource number, fixes pq2 japanese crashing on startup svn-id: r50970
2010-07-17SCI: added iceman hack to original said.y as wellMartin Kiewitz
svn-id: r50959
2010-07-17SCI: add hack for iceman to skip [!*] in kSaid, fixes green board / depth ↵Martin Kiewitz
affirmative not recognized svn-id: r50958
2010-07-17SCI: fix debugging code of parser, add 0xffe special group into debug supportMartin Kiewitz
svn-id: r50956
2010-06-27Cleanup, remove unused/obsolete codeFilippos Karapetis
svn-id: r50403
2010-06-01The parser vocabulary remains static throughout the game, thus it has been ↵Filippos Karapetis
removed from the engine state svn-id: r49373
2010-05-23SCI: fixing crash in _vocab_add_rule when running qfg2 demoMartin Kiewitz
svn-id: r49160
2010-05-18SCI: fixing crash in pq2 - not sure about this, lskovlun should take a look ↵Martin Kiewitz
at this svn-id: r49077
2010-02-13SCI: Add global g_sci pointer to the active SciEngine instanceMax Horn
svn-id: r48046
2010-02-13SCI: Remove unused PARSE_HEAP_SIZEMax Horn
svn-id: r48043
2010-02-10SCI: Update said.y to match changes made to said.cpp; regenerate said.cpp ↵Max Horn
using 'bison -l -o said.cpp said.y' svn-id: r48033
2010-01-25Strip trailing spaces/tabs.Johannes Schickel
svn-id: r47541
2010-01-23- Moved all of the parser-related variables inside the Vocabulary classFilippos Karapetis
- Moved the kSetSynonyms() function inside kscripts (as it's for script synonyms, not parser word synonyms) - The parser vocabulary is now only initialized for SCI0 and SCI01 games, which had a parser svn-id: r47483
2010-01-23Separated the parser codeFilippos Karapetis
svn-id: r47480