コミットグラフ

477 コミット

作成者 SHA1 メッセージ 日付
Cory Slep
df9ff825c2 Remove redundant interface code 2019-01-04 21:59:52 +01:00
Cory Slep
85ff299cf3 Cleanup kind's lessThan code generation 2019-01-04 21:56:29 +01:00
Cory Slep
d087200e02 Implement type's Serialize function 2019-01-03 22:56:19 +01:00
Cory Slep
2045f2602a Fix name methods for non-functional properties 2019-01-03 22:35:24 +01:00
Cory Slep
48df99f07f Fix double-calling value Kind functions 2019-01-03 22:27:14 +01:00
Cory Slep
0005e23011 Hook up LessThan for properties. 2019-01-03 21:36:10 +01:00
Cory Slep
24265690f8 Add LessThan implementation for types 2019-01-03 20:49:48 +01:00
Cory Slep
133c2fd477 Fix extendedBy and disjointWith methods/funcs 2019-01-03 20:24:37 +01:00
Cory Slep
ee9aade57f Add support for prefixing generated code paths. 2019-01-03 00:29:24 +01:00
Cory Slep
625e93d412 Pass package manager to properties. 2019-01-03 00:16:54 +01:00
Cory Slep
aeda61d2f1 Clean up qualified names between implementations.
Implementations are relying more on each others' interfaces, which
allows for better code isolation and a better chance at pruning down
binaries when needed. Still plenty of TODO items left to tackle.
2018-12-31 18:42:39 +01:00
Cory Slep
5db3a68a8d Fix concrete types to be interfaces in properties.
Fix bug in method calling code generation.
2018-12-31 16:49:25 +01:00
Cory Slep
b79b381a62 Only put exported methods in interfaces 2018-12-31 00:45:25 +01:00
Cory Slep
3da311641b Fix file writing locations.
Also write interfaces into public sections.

Lots of TODOs and more work to add.

Will need to look into how to simplify this logic -- there is a lot of
redundancy and kludgy-feeling things. Will definitely need to address
the converter part as it is very redundant.
2018-12-30 16:54:16 +01:00
Cory Slep
ce699464bf Overhaul package management, add manager.
The manager class will be responsible for allowing the generated code to
be compilable while also permitting types and properties to be isolated,
such that binaries can be pruned to smaller sizes and not require the
entire gambit be built into the resulting executable.

This state will successfully generate code, but the generated code is
completely uncompilable. It will also trash the props/ directory.
2018-12-30 16:09:14 +01:00
Cory J Slep
3ca0b5182d
Merge pull request #79 from cjslep/dev
Update the experimental tool and added Code of Conduct from dev fork.
2018-12-24 07:56:07 +01:00
Cory Slep
0a7539cdf7 Add CODE_OF_CONDUCT.md.
It stinks that I'm the only team member, so complaints about me go
directly to me. Which doesn't seem fair for victims.
2018-12-24 07:51:51 +01:00
Cory Slep
b0937b7dec Add TODOs for more type improvements, add IsExtending convenience. 2018-12-20 23:19:51 +01:00
Cory Slep
43ab7d319c Alphabetical order of type members and better extends API. 2018-12-20 23:03:13 +01:00
Cory Slep
b5d927c49f Properties now have serialization references to Types.
This setup allows properties to recur deserializing into types as
necessary, and sets the groundwork for successfully handling all kinds
of JSON-LD input.
2018-12-19 09:44:57 +01:00
Cory Slep
a3c3a7b5fc Prepare TypeGenerator being a Kind for Properties.
Right now the two-pass tooling system has issues with establishing
doubly-linked data between Functiona/NonFunctional Properties (which
have Kinds abstractions) and Types (which have Property abstraction).

While the experimental tool compiles, it panics at runtime currently
because the TypeGenerator needs to look at properties with Range of
itself, but it is applying itself to properties with Domain of its type.
Which is wrong.

Will need to stew on this and think of how to avoid making even more
shortcuts and hacky solutions in the name of progress.
2018-12-17 23:11:55 +01:00
Cory Slep
222074b503 Put properties on the vocabulary types. 2018-12-17 21:43:33 +01:00
Cory Slep
73f7e3cf36 Experimental codegen works end to end.
Still plenty of missing features, and missing implementations in the
generated code. Also missing some functionality and flags for generating
references and/or well-known references (ex: XML, RDF values).
2018-12-09 21:23:32 +01:00
Cory Slep
9a0f688c63 Fix build, hook up type serialization.
- Prepared Types to be Kinds.
- Need to handle DoesNotApplyTo (to remove Intransitive properties from
  parent)
- Need to handle crafting files in the appropriate structure.
2018-12-09 12:45:08 +01:00
Cory Slep
fe8b4e7261 Add type conversion (still broken at this commit) 2018-12-09 11:40:59 +01:00
Cory Slep
069b8de820 Add initial convert (exp is broken at this commit)
Still need to flesh out the types for conversion. Also still need to add
the serialize and deserialize calls for individual types. Finally, will
need to put the finishing touches on writing the output files in the
desired directories. Then the experimental tool will be ready for end to
end testing.
2018-12-08 23:05:02 +01:00
Cory Slep
dc2ce18fd7 Finish adding values and nat lang maps. 2018-12-08 18:57:40 +01:00
Cory Slep
beb44b1bde Fix more items in the specification 2018-12-08 18:57:20 +01:00
Cory Slep
139dc3c5ea Hack for "without property", begin resolving references.
Also begin populating values in the intermediate definition.

TODO: Replace the hack in the spec definition with something applicable
RDF-wise (is there anything that permits this RDF wise?).
2018-12-08 17:50:26 +01:00
Cory Slep
8589b0f14f Cleaned up the spec definition file 2018-12-08 17:50:02 +01:00
Cory J Slep
9c3005b17f
Merge pull request #78 from cjslep/dev
Update next generation experimental tool
2018-12-05 23:55:14 +01:00
Cory Slep
d2182dc3b9 Tool can now print its intermediate state 2018-12-05 23:50:20 +01:00
Cory Slep
e5693c2eb9 Finish implementing ontologies.
- ActivityStreams specification can now be entirely parsed.
- Removed print statements
- Added missing ontology items to rdfs
2018-12-05 23:36:27 +01:00
Cory Slep
dae9d884ab Remove duplicate entries 2018-12-05 23:35:53 +01:00
Cory Slep
41be1062fe Improve spec.json
- Remove reference to ActivityStreams (as its defining ActivityStreams!)
- Change type Link to type owl:Class
- Change https to http for parsing
2018-12-05 22:54:35 +01:00
Cory Slep
0f98307f07 Bug fixes and ontology improvements.
- Fixed the way indexing nodes were being applied
- Implemented property types in ontologies
- Improved class types in ontologies
- Lots of other stuff
2018-12-05 22:53:26 +01:00
Cory Slep
864616542c Prepare for @type to contextually resolve.
- Remove unused 'as' ontology
- Outline new GetByName for ontologies
- Fix bugs
- Prepare the type to use the RDFRegistry
2018-12-02 23:48:54 +01:00
Cory Slep
0530121039 Progress on implementing the schema ontology.
- can process name
- can process url
- properties can have examples
- id no longer requires a thing to be set on (may need to be revisited)
2018-12-02 22:37:43 +01:00
Cory Slep
e508425ddb Remove leftover print call 2018-12-02 22:36:43 +01:00
Cory Slep
676dc64dbb Allow a node to hijack the rest of the recursive descent.
Also, fixed a bug where errors were not getting propagated properly from
RDFNodes back to the apply process.
2018-12-02 22:35:46 +01:00
Cory Slep
e13d837405 Add alias to name in spec 2018-12-02 22:35:23 +01:00
Cory Slep
503e95e52e Add alias for url 2018-12-02 20:07:01 +01:00
Cory Slep
30f9f6a16b Fix aliasing specific elements.
Also adds some placeholders for the schema ontology.

Eliminated some dead code in the RDF manager thing.

Next step is to get mainEntity parsing to ignore the rest of the values,
which should be easier to do, maybe.
2018-12-02 20:04:56 +01:00
Cory Slep
caa2e4d2fa Expand the as alias to the ActivityStreams URI 2018-12-02 13:56:36 +01:00
Cory Slep
90b12d43aa Fix bugs for handling aliased nodes and containers
Implemented the beginning of the container and index handling, but have
not yet completed it.
2018-12-02 13:55:29 +01:00
Cory Slep
b657bd2307 Add some OWL ontology implementations 2018-12-01 18:31:35 +01:00
Cory Slep
c61bd2d129 Add rdf ontology nodes, make processing mandatory. 2018-12-01 16:36:33 +01:00
Cory Slep
94569ca549 Setup applying RDF node understanding.
Next, the actual nodes need to be created in order to construct the
proper intermediate form and translate the parsed data into a meaningful
structure that can be used to generate code.

Ideally, this could also potentially allow code generation in other
languages too. And different ways to read in ActivityStreams
specifications and extensions. But that would be way off in the future.
2018-11-29 22:53:48 +01:00
Cory Slep
68f6602ebb Fix fork imports and rearrange parsing functions 2018-11-29 01:22:56 +01:00
Cory Slep
0470f8e603 Add internal parsed RDF definition data types.
This is an evolution of the old tools/defs/types.go file which
essentially had these data structs manually defined in a static go file.
Now, the parser should be able to construct this data structure on the
fly from input files and reference files.
2018-11-28 23:50:07 +01:00