Commit Graph

402 Commits

Author SHA1 Message Date
Gunnar Beutner 3cb2afd454 Fix minor memory leak in the config parser 2014-12-06 10:23:25 +01:00
Gunnar Beutner b5b1be95a2 Make the config lexer return an error for unterminated string literals
fixes #7808
2014-11-28 06:49:06 +01:00
Gunnar Beutner ab63fca3d5 Make the config parser thread-safe
fixes #7822
2014-11-28 06:48:27 +01:00
Gunnar Beutner 358d91e912 Remove the __parent field in the DynamicObject class
refs #7748
2014-11-27 06:32:12 +01:00
Gunnar Beutner cee13fbec0 Implement the %, ^, %=, ^=, &= and |= operators
fixes #7813
2014-11-25 17:16:34 +01:00
Gunnar Beutner 1e5751c540 Build fix for GCC
refs #7822
2014-11-25 12:36:13 +01:00
Gunnar Beutner 31605402ea Move the parser's global variables to the ConfigCompiler class
refs #7822
2014-11-25 09:40:32 +01:00
Gunnar Beutner 9281f82ba3 Fix parser problem with missing new-lines
refs #7822
2014-11-25 08:59:55 +01:00
Gunnar Beutner c5839b91aa Use MakeLiteral instead of 'new LiteralExpression'
refs #7822
2014-11-25 08:44:47 +01:00
Gunnar Beutner 03a4452343 Remove the global m_Expressions variable
refs #7822
2014-11-25 08:42:27 +01:00
Gunnar Beutner ed81cb0f2c Make SetExpression check whether the LHS is null
fixes #7814
2014-11-24 18:26:27 +01:00
Gunnar Beutner fddead5303 Fix some compiler warnings
fixes #7826
2014-11-24 18:25:08 +01:00
Gunnar Beutner 7e13f7597f Disallow - in identifiers
fixes #7830
2014-11-24 16:54:06 +01:00
Gunnar Beutner 2ec499be17 Implement the __if and __else keywords
fixes #7824
2014-11-24 09:56:28 +01:00
Gunnar Beutner 47ba5eeddd Change parameter type for include and include_recursive to T_STRING
fixes #7802
2014-11-24 07:18:37 +01:00
Gunnar Beutner d3a6277fec Fix the __return keyword
fixes #7811
2014-11-24 00:07:29 +01:00
Gunnar Beutner c29d6a99ac Fix unary minus operator
fixes #7815
2014-11-23 23:19:46 +01:00
Gunnar Beutner e93595c006 Fix scoping for __for
fixes #7809
2014-11-23 20:43:50 +01:00
Gunnar Beutner d366dd8e30 Fix the reduce/reduce conflicts
refs #7800
2014-11-23 15:25:25 +01:00
Gunnar Beutner 8d0ddb7c8c Implement more unit tests
refs #7805
2014-11-23 12:35:13 +01:00
Gunnar Beutner e302158631 Remove debug code
refs #7800
2014-11-23 12:08:29 +01:00
Gunnar Beutner 9a49e085cd Fix some more shift/reduce conflicts
refs #7800
2014-11-23 12:06:47 +01:00
Gunnar Beutner 81acd34f52 Implement unit tests for the config parser
refs #7805
2014-11-23 09:54:08 +01:00
Gunnar Beutner af759ff6ab Fix incorrect result for the !in operator
fixes #7806
2014-11-23 09:54:08 +01:00
Gunnar Beutner 9bdc7e8a4e Fix the shift/reduce conflicts in the parser
fixes #7800
2014-11-22 23:02:12 +01:00
Gunnar Beutner 037b886584 Remove the C++ code generator
refs #7699
2014-11-22 19:24:13 +01:00
Gunnar Beutner f5766f9118 Refactor the stack frame handling for scripts
fixes #7748
2014-11-22 19:24:03 +01:00
Gunnar Beutner 0ab61291c6 Make sure source information is always available for error messages
refs #7699
2014-11-21 18:35:59 +01:00
Gunnar Beutner 334e61037a Split DynamicObject::OnConfigLoaded into two separate events
refs #7780
2014-11-21 18:31:37 +01:00
Gunnar Beutner 764d72a61a Improve error messages for the config parser
refs #7699
2014-11-21 09:07:08 +01:00
Gunnar Beutner abe583f7d9 Fix some incorrectly generated code
refs #7699
2014-11-21 07:37:20 +01:00
Gunnar Beutner aef7c487cf Build fix
refs #7699
2014-11-20 22:54:29 +01:00
Gunnar Beutner 8e265b7b7f Implement a C++ code generator for libconfig
fixes #7699
fixes #7704
fixes #7706
2014-11-20 21:53:32 +01:00
Gunnar Beutner 0078e00c13 Refactor apply/object rules
fixes #7700
2014-11-20 21:29:50 +01:00
Gunnar Beutner 2d53e000c8 Refactor the config validator so that it doesn't require serialized objects
refs #7701
2014-11-20 13:28:21 +01:00
Gunnar Beutner f84cc8de39 Implement support for signals
fixes #7744
2014-11-20 06:54:48 +01:00
Gunnar Beutner ea729b2b6c Clean up the DebugHint class 2014-11-17 14:52:08 +01:00
Gunnar Beutner 3bb79715fa Fix: Names for nested objects are evaluated at the wrong time
fixes #7689
2014-11-15 15:57:56 +01:00
Gunnar Beutner d8e1943671 Fix missing debug info for nested dictionaries
fixes #7688
2014-11-15 12:17:59 +01:00
Gunnar Beutner 814589ac17 Use Array::Contains in InExpression/NotInExpression 2014-11-15 08:22:32 +01:00
Gunnar Beutner 79fb24cedb Fix null pointer dereference while parsing the config 2014-11-13 23:25:52 +01:00
Gunnar Beutner 12a41795de Add default parameters to the AST classes 2014-11-13 23:25:31 +01:00
Gunnar Beutner 02fef3f84a Remove unions from the DebugInfo class 2014-11-13 09:02:43 +01:00
Gunnar Beutner ee980a788b Clean up the code a bit 2014-11-11 23:06:47 +01:00
Gunnar Beutner 65be09215f Avoid unnecessary type lookups
refs #7622
2014-11-10 20:07:07 +01:00
Gunnar Beutner 3cc79a6005 Optimize apply/object filters
refs #7622
2014-11-10 12:06:29 +01:00
Gunnar Beutner ec109b04dd Refactor the AST
refs #7622
2014-11-10 12:06:25 +01:00
Gunnar Beutner e3c5063aff Remove unused fields from the ObjectRule class
refs #7622
2014-11-10 09:52:27 +01:00
Gunnar Beutner 478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Gunnar Beutner 684ad2641a Fix GetInstance() methods for the DbType and config validator registry classes 2014-11-09 13:06:25 +01:00