Commit Graph

186 Commits

Author SHA1 Message Date
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 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 9bdc7e8a4e Fix the shift/reduce conflicts in the parser
fixes #7800
2014-11-22 23:02:12 +01:00
Gunnar Beutner f5766f9118 Refactor the stack frame handling for scripts
fixes #7748
2014-11-22 19:24:03 +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 f84cc8de39 Implement support for signals
fixes #7744
2014-11-20 06:54:48 +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 478f03b49a Replace boost::shared_ptr with boost::intrusive_ptr
refs #7622
2014-11-09 16:54:41 +01:00
Gunnar Beutner ad14ff6d6b Fix memory leak in the config parser
refs #7566
2014-11-05 09:29:15 +01:00
Gunnar Beutner c1cbe157db Allow strings as indexers
refs #7566
2014-11-04 15:22:10 +01:00
Gunnar Beutner a6f20c7a22 Implement support for arbitrarily complex indexers
fixes #7566
2014-11-04 15:20:33 +01:00
Gunnar Beutner a1c905bf62 Implement dictionary support for apply+for
fixes #7561
2014-11-04 11:02:10 +01:00
Gunnar Beutner 4677014b6d Implement support for arrays in custom variables
fixes #6544
2014-11-02 07:27:50 +01:00
Gunnar Beutner d300ceaaf7 Fix: Nesting an object in a template causes the template to become non-abstract
fixes #7537
2014-11-01 06:25:58 +01:00
Gunnar Beutner 93b66a0c4a Clean up the config parser a bit 2014-11-01 05:23:14 +01:00
Gunnar Beutner 028186e7f0 Remove support for partial type validators
refs #7458
2014-10-28 08:22:41 +01:00
Gunnar Beutner f13ea9e1b8 Remove zone keyword
fixes #7400
2014-10-17 12:45:57 +02:00
Gunnar Beutner feeb550654 Rename AExpression to Expression 2014-10-16 17:44:06 +02:00
Gunnar Beutner 14ac7dd974 Replace spaces with tabs 2014-10-13 09:47:05 +02:00
Gunnar Beutner 15358c6e95 Fix missing error messages (part 2)
refs #7331
2014-10-01 16:01:47 +01:00
Gunnar Beutner 632026cd9f Rename C++ header files.
Fixes #6291
2014-05-25 16:27:14 +02:00
Gunnar Beutner 3a1ce23aeb Implicitly set zone attribute for files includes from zones.d.
Refs #6191
2014-05-13 14:40:12 +02:00
Gunnar Beutner a5d3523b85 Rename the function, return and for keywords and remove the lambda keyword.
Fixes #6194
2014-05-12 12:59:12 +02:00
Gunnar Beutner 9c3e399188 Remove unnecessary includes.
Fixes #6189
2014-05-11 18:11:32 +02:00
Gunnar Beutner c7b5e4c31e Fix some compiler warnings.
Refs #5823
2014-05-11 06:04:43 +02:00
Gunnar Beutner 0e34968e8f Implement for loops.
Fixes #6183
2014-05-10 11:26:56 +02:00
Gunnar Beutner 45270f1bb8 Refactor the agent and cluster components.
Refs #6107
2014-05-08 09:13:04 +02:00
Gunnar Beutner b1dab6c074 Implement support for the "package" keyword.
Refs #6107
2014-05-08 09:13:04 +02:00
Michael Friedrich 7a147d268e Add group assign/ignore rules.
Fixes #5910
2014-04-23 15:50:00 +02:00
Gunnar Beutner b8d3d42b7f Allow trailing comma in arrays.
Fixes #5928
2014-04-11 13:51:14 +02:00
Gunnar Beutner 91f946a40e Implement the "return" keyword.
Fixes #5985
2014-04-09 10:36:57 +02:00
Michael Friedrich e97e1cf63f Throw error on missing 'assign' in 'apply'.
Refs #5911
2014-04-07 13:04:13 +02:00
Gunnar Beutner 5e38c81eb5 Implement apply target types.
Fixes #5924
2014-04-05 13:53:55 +02:00
Gunnar Beutner 41d0dde52e Allow functions to return values.
Fixes #5922
2014-04-02 17:27:04 +02:00
Gunnar Beutner 5eca503362 Support new-lines in addition to commas to separate commands.
Fixes #5901
2014-04-01 09:45:57 +02:00
Gunnar Beutner 397fee13ff Allow "object" and "apply" in AST expressions.
Refs #5870
2014-03-30 15:04:53 +02:00
Gunnar Beutner 7a6172c135 Remove support for the deprecated "var" and "set" keywords.
Refs #
2014-03-30 10:29:52 +02:00
Gunnar Beutner 5179eebf09 Allow rterm in indexer ops.
Refs #5870
2014-03-30 10:00:11 +02:00
Gunnar Beutner ec0fdd3fd2 Fix operator precedence.
Refs #5870
2014-03-30 05:04:58 +02:00
Gunnar Beutner d00a839620 Fix incorrect debug info for "apply" rules.
Refs #5870
2014-03-30 01:20:58 +01:00
Gunnar Beutner fa11e5a97e Update example config.
Refs #5878
2014-03-28 16:32:15 +01:00
Gunnar Beutner 54063f0b9f Rename __name and __type properties.
Refs #5870
2014-03-28 14:17:55 +01:00
Gunnar Beutner 7ee1278118 Implement the new syntax for the "apply" keyword.
Refs #5878
2014-03-28 14:00:00 +01:00
Gunnar Beutner b289987500 Implement the "." operator.
Refs #5876
2014-03-28 13:59:56 +01:00
Gunnar Beutner 8958d2f69f Implement the "import" keyword.
Refs #5869
2014-03-28 11:22:36 +01:00
Gunnar Beutner 536562cddd Build fixes.
Refs #5846
2014-03-24 12:54:23 +01:00
Gunnar Beutner c66ac66219 Allow semi-colons as separators for lterms.
Refs #5846
2014-03-24 11:24:01 +01:00
Gunnar Beutner 8e699ac0fa Fix scoping rules for object definitions.
Refs #5846
2014-03-24 11:23:47 +01:00
Gunnar Beutner 1aca29afd2 Clean up the +=, -=, *= and /= operators.
Refs #5846
2014-03-24 09:06:16 +01:00
Gunnar Beutner 9adc63737a Allow rterms as object names.
Refs #5846
2014-03-23 22:41:37 +01:00
Gunnar Beutner ddc548bb5d Fix AExpression::ExtractPath.
Refs #5846
2014-03-23 19:58:24 +01:00
Gunnar Beutner d23078d6c4 Make sure +=, -=, *= and /= behave like they did before.
Refs #5846
2014-03-23 17:26:31 +01:00
Gunnar Beutner aacc699dd4 Refactor the config parser's AST.
Refs #5846
2014-03-23 11:27:40 +01:00
Gunnar Beutner 67d8bc219e Clean up the AExpression class.
Refs #5846
2014-03-22 10:29:45 +01:00
Gunnar Beutner 24e029bdb0 Allow values as top-level statements.
Refs #5846
2014-03-22 09:50:44 +01:00
Gunnar Beutner 2a6a75d52e Improve error messages for exceptions in AExpressions.
Refs #5846
2014-03-22 08:40:09 +01:00
Gunnar Beutner c9590d5183 Fix location messages.
Refs #5825
2014-03-21 16:01:32 +01:00
Gunnar Beutner c0b10a8245 Make config error messages friendler.
Refs #5825
2014-03-21 15:58:13 +01:00
Gunnar Beutner 0b90444dd8 Build fix. 2014-03-21 15:41:00 +01:00
Gunnar Beutner dde483d7a8 Make config error messages more awesome.
Refs #5825
2014-03-21 15:39:52 +01:00
Gunnar Beutner 87e4b24686 Add line number info to duplicate object error message.
Refs #5825
2014-03-21 14:48:18 +01:00
Gunnar Beutner 7d7c8e8ec9 Fix path names in DebugInfo objects.
Refs #5825
2014-03-21 14:45:01 +01:00
Gunnar Beutner 8629071392 Improve line number information.
Fixes #5825
2014-03-21 10:28:58 +01:00
Gunnar Beutner 95bf7ca560 Make duplicate object definitions an error.
Fixes #3638
2014-03-20 15:38:29 +01:00
Gunnar Beutner 02fc3278c8 Implement missing operators for the Value class.
Fixes #5804
2014-03-20 13:02:31 +01:00
Gunnar Beutner 46d7cf3d6a Implement len() and the operators >, >=, < and <=.
Refs #5789
2014-03-19 13:25:06 +01:00
Gunnar Beutner 3383951791 Implement regex() and match() functions.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner 124fa9ebc1 Make braces around constant expressions optional.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner ec0557afea Implement additional operators: &&, ||, in and !in.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner e0ad30a9c6 Allow arrays as operands in constant expressions.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner caad7a7973 Implement the 'apply template' directive.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner 3587dbbd13 Implement support for local variables in AExpressions.
Refs #5789
2014-03-19 12:46:23 +01:00
Gunnar Beutner 04b8724cb8 Implement == and != operators for AExpressions.
Refs #5789
2014-03-19 12:46:23 +01:00
Michael Friedrich ce737ff2f3 Change copyright header (again).
Fixes #5424
2014-03-19 11:42:47 +01:00
Gunnar Beutner 25dc86881a Make script variables constant.
Fixes #5446
2014-02-12 11:51:50 +01:00
Michael Friedrich 555d72150a Update copyright header.
Fixes #5424
2014-01-09 00:32:11 +01:00
Michael Friedrich e6c6a7dc52 Use exclamation mark for auto-generated config item names.
Fixes #5318
2013-12-12 11:50:08 +01:00
Gunnar Beutner e540685e13 Implement support for constants in the config parser.
Refs #4946
2013-12-04 11:32:45 +01:00
Gunnar Beutner c92625770c Fix leak in the config parser.
Refs #4946
2013-12-04 10:39:46 +01:00
Gunnar Beutner f8d2172c27 Implement include_recursive config directive.
Fixes #5238
2013-11-29 12:26:31 +01:00
Gunnar Beutner 39dcf20a89 Implement support for stack traces for STL exceptions.
Fixes #5114
2013-11-20 21:55:14 +01:00
Gunnar Beutner 4534bb08c5 Implement DbCatEverything flag.
Fixes #5096
2013-11-20 16:47:46 +01:00
Gunnar Beutner 6acc017707 Remove namespace qualifiers for boost::make_shared and boost::enable_shared_from_this.
Fixes #5012
2013-11-07 08:28:33 +01:00
Gunnar Beutner 5f0ebed72b Improve compatibility with ancient versions of Bison.
Refs #4962
2013-11-03 13:45:26 +01:00
Gunnar Beutner 599429ec93 config: Implement AST support for const expressions. 2013-10-20 15:07:55 +02:00
Gunnar Beutner c002727edf config: Remove the "abstract" keyword. 2013-09-25 14:10:26 +02:00
Gunnar Beutner bf1a800e39 Update copyright information. 2013-09-25 07:45:56 +02:00
Gunnar Beutner a7e25beb06 Improve config validation.
Fixes #4391
2013-09-24 13:13:14 +02:00