ChangeLog for kdevelop-pg-qt v0.9.5 =================================== * Milian Wolff: use -std=c++0x in hope for more portability * Milian Wolff: only try to add gnuism when using gnu compiler * Jonathan Schmidt-Dominé: Fixed old try/recover at end of file bug. BUG: 269832 * Jonathan Schmidt-Dominé: Fixed build error (inactive without FOLLOW_CHECKER_DEBUG) * Jonathan Schmidt-Dominé: Some autos instead of typeof for better readability * Jonathan Schmidt-Dominé: SIGSEGV issues now fixed. * Jonathan Schmidt-Dominé: Revert "Revert "FIRST/FOLLOW-output like before…", it leads to segfaults when trying to" * Jonathan Schmidt-Dominé: Fixed mismatched calloc/delete (free instead of delete) * Milian Wolff: Revert "FIRST/FOLLOW-output like before…", it leads to segfaults when trying to build PHP on 64bit. * Jonathan Schmidt-Dominé: FIRST/FOLLOW-output like before… * Jonathan Schmidt-Dominé: Fixed infinite recursion in output of follow-dep-checker TODO: fix ‘,’s in output * Jonathan Schmidt-Dominé: start-rule-detection * Jonathan Schmidt-Dominé: Fixed follow-set-generation. Mapping in bnf-visitor is now global… * Jonathan Schmidt-Dominé: Cleaned up kdev-pg-follow * Jonathan Schmidt-Dominé: Added --no-parser to test.sh and changed expected5 * Jonathan Schmidt-Dominé: Fixed all the license-headers (they talked aboud kdev-pg, some where missing) * Jonathan Schmidt-Dominé: Cleaned up useless stuff in kdev-pg-first (mItem, mMergeBlocked etc.) * Andreas Pakulat: Also add the *ast.h to the source list. * Jonathan Schmidt-Dominé: Easy-Algo works, even bugs from the old implementation are now fixed (too much EOFs) * Jonathan Schmidt-Dominé: Simple NextFollow-implementation, next step: having a look at the initializers * Jonathan Schmidt-Dominé: BnfVisitor works, NextFirst ported, wow, that is short!! * Jonathan Schmidt-Dominé: Relevant parts of the BnfVisitor are now imptemented, warning: visiting will _not_ be acyclic, so there is no need for extra-symbols for kleene-stars. * Jonathan Schmidt-Dominé: Slarted easy-algo... * Milian Wolff: fix argument order and offset * Jonathan Schmidt-Dominé: Removed the last occurences of qDebug... Removed the for-loop for '^'-cursor-positioning in yyerror * Jonathan Schmidt-Dominé: Fixed error in prefix-operator-code. * Milian Wolff: break has no arguments * Jonathan Schmidt-Dominé: Small modification in serialize-visitor. * Jonathan Schmidt-Dominé: Small modification in serialize-visitor. * Jonathan Schmidt-Dominé: Fixed Clone-Tree-visitInlinedNonTerminal * Jonathan Schmidt-Dominé: Fixed GenerateAstRule::visitInlinedNonTerminal * Jonathan Schmidt-Dominé: Inlining in cool-example. * Jonathan Schmidt-Dominé: Fixed PrettyPrinter::visitInlinedNonTerminal. * Jonathan Schmidt-Dominé: Fixed various visitInlinedNonTerminal-methods. * Jonathan Schmidt-Dominé: Fixed first-set-creation with inlined non-terminals. * Jonathan Schmidt-Dominé: Added second inline-checker-test * Jonathan Schmidt-Dominé: Avoid inlining of operator expressions * Jonathan Schmidt-Dominé: Better DefaultVisitor::visitInlinedNonTerminal (affects the generated code) * Jonathan Schmidt-Dominé: Use a new token (T_INLINE) for ".=" (instead of '.' '=') * Jonathan Schmidt-Dominé: Updated case3 (empty-first) * Jonathan Schmidt-Dominé: Added test for cyclic-inlining-detection. * Jonathan Schmidt-Dominé: Parsing of scoped-names commented out, because it conflicts with the ".=". * Jonathan Schmidt-Dominé: Cyclic-inlining-checker added * Jonathan Schmidt-Dominé: Fixed whitespace * Jonathan Schmidt-Dominé: Started inlining-support. * Jonathan Schmidt-Dominé: First step towards more flexibility in operator-expressions. * Jonathan Schmidt-Dominé: Fixed spelling-error. * Jonathan Schmidt-Dominé: Better cmake-module. * Jonathan Schmidt-Dominé: Fixed problem with COPY_CODE_TO_YYLVAL (cstring-functions related, as usual O_o) * Jonathan Schmidt-Dominé: Better line-numbers in compiler-messages, thank you Victor Vicente for the negative feedback. ;) * Jonathan Schmidt-Dominé: Fixed message in test/expected(1|2) * Jonathan Schmidt-Dominé: Added missing reinterpret_cast to the generated Visitor::visitNode-method. * Jonathan Schmidt-Dominé: Now you can use a switch-statement in Visitor::visitNode instead of a lookup-table. * Jonathan Schmidt-Dominé: Fixed messages. * Jonathan Schmidt-Dominé: Test-Cases for all kinds of problems (FIRST/FIRST, empty first, empty operator, undefined token undefined non-terminal additionally to the existing FIRST/FOLLOW-test) Fixed: Missing EmptyOperator-checking Fixed: Ugly output in EmptyFirst (symbols got visited multiple times) * Jonathan Schmidt-Dominé: Updated TODO and README (there was kdev-pg-related stuff!!) * Jonathan Schmidt-Dominé: Better output and better testing ({FIRST/FIRST, FIRST/FOLLOW} x {operator-based, bnf-based}) * Jonathan Schmidt-Dominé: A central QTextStream instead of qDebug, there where missing flushes etc., now problem-reporting works fine. * Jonathan Schmidt-Dominé: Support for --beautiful-code (that is the old-style) and --error-aware-code (when compiling the generated source the compiler messages will contain references to the grammar-file) * Jonathan Schmidt-Dominé: Use [:#include "bla.h":] instead of [:#include :] in code-generation for user-supplied headers. * Jonathan Schmidt-Dominé: Op2: A very complex test-case covering a lot of features, could be used as unit-test. * Jonathan Schmidt-Dominé: Fixed wrong strcpy-stuff, ihgitt! * Jonathan Schmidt-Dominé: A more complex example for operator-expression-parsing which may be used for a unit-test. * Jonathan Schmidt-Dominé: Operator-expression-parsing improved -better error handling -more flexibility * Jonathan Schmidt-Dominé: Removed unnecessary KDE-dependency * Jonathan Schmidt-Dominé: Added enable_testing * Jonathan Schmidt-Dominé: Fixed ASBeautifier (++ instead of --) Added kFatal when trying to use the expression-parser with --no-ast. * Jonathan Schmidt-Dominé: It is krazy:excludeall and not krazy:exclude-all!! * Jonathan Schmidt-Dominé: Fixed a lot of krazy-issues. * Jonathan Schmidt-Dominé: AUTHORS... * Jonathan Schmidt-Dominé: Produce extra-errors in the expression-parser. * Jonathan Schmidt-Dominé: -Support for ternary expressions -Simplified parentheses * Jonathan Schmidt-Dominé: Added TernaryExpression to AST-gen and Visitor-gens * Jonathan Schmidt-Dominé: Fixed the lexer (rulePosition has to be set for operator-rules, too) * Jonathan Schmidt-Dominé: 1. Support for parentheses 2. AST-definitions get sorted topologically (ast_base etc.) 3. Operator-Expressions without any operators work * Jonathan Schmidt-Dominé: Added support for prefix-expressions... * Jonathan Schmidt-Dominé: Fixed start- and endToken * Jonathan Schmidt-Dominé: Object-layout computation... (experiment, no real code) * Jonathan Schmidt-Dominé: new-visitor for operator-expressions * Jonathan Schmidt-Dominé: Some tests: 1-+2*3^5 startToken and endToken are not yet correctly set... * Jonathan Schmidt-Dominé: startToken and endToken for operator-expressions * Jonathan Schmidt-Dominé: Removed the "if (!m_indent) " to get good dumps. * Jonathan Schmidt-Dominé: Binary/Postifx: proper ASTs and proper visiting * Jonathan Schmidt-Dominé: Visitor+DefaultVisitor * Jonathan Schmidt-Dominé: -First test-cases for bottom-up-parsing work! -Default visitor * Fathi Boudra: On Qt only build, set cmake minimum requirement. Use KDE 4 defaults. * Fathi Boudra: Check KDE4 before adding tests directory. The tests use kde4_add_unit_test. * Fathi Boudra: find Qt 4 as a fallback when we build with Qt only