Commit Graph
127 Commits
Author SHA1 Message Date
Mike Auty bb2dd859d5 Refactor the get_schema call to make more sense. 2016-07-29 02:56:20 +01:00
Mike Auty 8c6354e013 Document the ScannerInterface to make its use clearer. 2016-07-05 17:09:36 +01:00
Mike Auty 90fa5574b4 Add in the initial scanning framework. 2016-07-02 15:49:00 +01:00
Mike Auty c626bebb59 Convert mapping to a generator rather than a list. It must still return in sorted order. 2016-07-02 15:48:09 +01:00
Mike Auty fc34850345 Implement mapping with ignore_errors to get a (sorted) list of valid chunks in a layer. 2016-07-02 15:39:36 +01:00
Mike Auty 46190e37a9 Fix padding error in base read function. 2016-07-02 15:30:40 +01:00
Mike Auty 8c6e7918ee Fix up one missing exception change. 2016-07-02 14:53:41 +01:00
Mike Auty 5290baf73d Make InvalidAddress exceptions more useful. 2016-07-02 13:31:36 +01:00
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