Commit Graph
119 Commits
Author SHA1 Message Date
Mike Auty e0b7f0b5f0 Add in helper functions for symbolspaces/symboltables to locate specific symbols. 2016-05-22 15:57:48 +01:00
Mike Auty fea6e0820a Convert to using a BANG variable for the symbol name delimiter.
Whilst it's easy to do now (because we don't yet use it many places)
convert the ! delimiter into a variable.
2016-05-22 15:26:31 +01:00
Mike Auty 659bfc1670 Add in Symbol class to properly represent programming symbols. 2016-05-22 11:54:44 +01:00
Mike Auty 2d23c93def Completely refactor constants and structures to symbols and types. 2016-05-22 11:51:06 +01:00
Mike Auty 7a62e74996 Refactor the translation method out of the TranslationLayer, since it's not always applicable/useful. Contemplate a rename of the TranslationLayer now it doesn't actually translate. 5;) 2016-04-10 11:54:32 +01:00
Mike Auty bacc8c5539 Move to a HierarchicalVisitor pattern. 2016-02-22 01:02:29 +00:00
Mike Auty a9ff081da5 Fix a few bugs and re-add a visitor pattern for traversing the tree. 2016-02-20 23:01:41 +00:00
Mike Auty ba2083fc7c Refactor the RequirementTreeNode to put it in the interfaces file. 2016-02-20 21:35:05 +00:00
Mike Auty 9c9183feb2 API change: Alter cast to accept object parameters rather than inheriting (which usually will be wrong). 2016-02-14 01:40:25 +00:00
Mike Auty 03cb131260 Add a priority ordering for testing layers (high priority trumps lower priority). 2016-01-21 00:06:39 +01:00
Mike Auty a3d685c93a Ensure layers aren't provided more parameters than they need (in case the parameters were meant for a different potential provider. 2016-01-16 22:20:42 +00:00
Mike Auty 78cd3c84c0 Add in a NativeSymbolTable validator. 2016-01-16 21:38:00 +00:00
Mike Auty 00660f2a2b Refactor requirements to their own file. 2016-01-16 21:04:41 +00:00
Mike Auty 7db739279f Refactor configuration interfaces. 2016-01-16 13:24:25 +00:00
Mike Auty 8e1602c02e Refactor constrained to constraint. 2016-01-15 01:53:08 +00:00
Mike Auty b36d84ab0d Move metadata to providers variable, and genericize the rudimentary resolver. 2016-01-15 01:50:02 +00:00
Mike Auty 3a8decd57c Add in the interfaces for constraints/providers. 2016-01-15 01:49:18 +00:00
Mike Auty 4d4c5e63b9 Set a default for the HierarchicalDicts separator to use a constant. 2016-01-13 00:57:00 +00:00
Mike Auty 191e38c3d4 Remove completed tasks. 2016-01-13 00:53:17 +00:00
Mike Auty 5b2200decc Update documentation slightly. 2016-01-13 00:51:44 +00:00
Mike Auty 1e48527096 Refactor Leaf/Node structures. 2016-01-13 00:50:51 +00:00
Mike Auty 603769cd3d Tidy up useful debugging output. 2016-01-13 00:49:12 +00:00
Mike Auty ffcacaec7d Refactor SchemaNodes into RequirementInterface. 2016-01-13 00:48:54 +00:00
Mike Auty 5697428770 Move accessing the configuration to an attribute of the configurable itself. 2016-01-13 00:41:17 +00:00
Mike Auty 33ab4c9109 Remove ConfigurationModifiers for now, the idea might return later, but for now it's out. 2016-01-13 00:24:00 +00:00
Mike Auty e2e754edeb Add in this level of values only, as a property. 2016-01-13 00:10:25 +00:00
Mike Auty fc3559e5c7 Fix up the HDict iterator. 2016-01-13 00:10:06 +00:00
Mike Auty 5ccdba35a3 Disable the self validation of plugins for the time being. 2016-01-12 23:46:03 +00:00
Mike Auty 415a0948a0 Rename the SCHEMA_NAME_DIVIDER, and ensure all paths are flat strings. 2016-01-12 23:44:55 +00:00
Mike Auty f09939df06 Add in HierarchicalDicts as a configuration storage type. 2016-01-12 23:18:06 +00:00
Mike Auty cb3f42f0e9 Rework the CLI a little to actually call the plugin, but the config system needs improving/fixing/rewriting. 5:S 2016-01-11 00:18:16 +00:00
Mike Auty df4a4d5e8d Remove abstract method from classmethods (since it won't error if the abstract method isn't implemented until instantiation. 2016-01-10 16:30:37 +00:00
Mike Auty 3bf336df41 Rework the dependency section and contemplate how to thread it all together a little more. 2016-01-10 16:29:47 +00:00
Mike Auty bef0689982 Add in constraints for dependency solving. 2016-01-04 01:17:23 +00:00
Mike Auty ff1e326a9c Rip out layer factories, and replace them with a single dependency resolver. 2015-12-30 21:58:41 +00:00
Mike Auty bcbfee9016 Refactor the validity function names to make it easier for autocomplete to find. 2015-12-29 22:24:32 +00:00
Mike Auty cf66d0b447 Start building a dependency resolver for translation layers. 2015-12-29 22:13:10 +00:00
Mike Auty f7cc2ef00e Add a third layer to the requirement system
Now:

1. ConfigSchemaNode Class (pre-plugin instantiation)
2. ConfigSchemaNode Instance (plugin instantiated)
3. ConfigurationItem Instance (tree linking schema nodes to configuration value locations)
2015-12-27 01:12:38 +00:00
Mike Auty cf2b7b7c01 Update more ideas, getting closer to a suitable setup. 2015-12-07 09:23:20 +00:00
Mike Auty 2028c26557 Uncomment Conjunction/Disjunction Requirements and add initial windows translation layers, etc 2015-12-03 00:17:55 +00:00
Mike Auty a4b44cf921 Move the configuration data to its own module. 2015-12-02 09:42:05 +00:00
Mike Auty ede77815b1 Commit additional notes. 2015-12-02 02:18:41 +00:00
Mike Auty 0e75503645 A few more little fix-ups and initial thoughts on what I'm trying to achieve. It's still a little confused around the TranslationLayerRequirements. 2015-12-01 00:00:14 +00:00
Mike Auty 58582715db Rework configuration classes to move towards a schema system. 2015-11-30 21:21:15 +00:00
Mike Auty d258c56991 Rerun pylint with pycharm-5 and fix pep8 issues as well. 2015-11-21 13:12:00 +00:00
Mike Auty 2f980fb613 Fix up typo in symbols interface for native_structures (now natives). 2015-10-11 18:28:16 +01:00
Mike Auty 9e801c428b Rename ContextModifier.__call__ to ContextModifier.modify_context. 2015-10-11 18:19:45 +01:00
Mike Auty 8ddf5c5b45 Remove the plugin __call__ method for properly named run method.
Calls methods are handy, but ugly if you create and then call the object
immediately ( for example, thing()() ).
2015-10-11 18:12:19 +01:00
Mike Auty 65fcd5fbe5 Minor pylinting. 2015-09-28 01:34:52 +01:00
Mike Auty 0ff820667f Refactor config to configuration so we can have variables called config. 2015-09-28 01:31:22 +01:00