コミットグラフ

39 コミット

作成者 SHA1 メッセージ 日付
Cory Slep
e6160858f0 Remove ValueRoot and comment all direct code.
Still need to review the comments on all code-generated code.
2019-01-12 20:53:00 +01:00
Cory Slep
9df52c8c45 Prepare comments to be auto-truncated at write time.
This changes comments to only be strings passed around between the
codegen package and its clients. This lets codegen in the future limit
how long a comment line is when generating the code.
2019-01-07 22:06:32 +01:00
Cory Slep
ea8af5c968 Prep for IRIs, no more circular deps, added getters/setters.
A lot of stuff just happened for the better.
2019-01-06 19:44:24 +01:00
Cory Slep
7eb1755c96 Add support for link relation values. 2019-01-06 12:41:47 +01:00
Cory Slep
1bdb66aa98 Add support for MIME media type. 2019-01-06 12:36:11 +01:00
Cory Slep
26988b6cd2 Add BCP47 to known values 2019-01-06 12:27:18 +01:00
Cory Slep
8b8cc2af27 Fix value qualified statements in interfaces.
Also fix the qualified interface name for non-functional properties in
the LessThan method.
2019-01-05 23:12:42 +01:00
Cory Slep
ec7091be51 Add serialization and comparison for rdf:langString 2019-01-05 21:54:00 +01:00
Cory Slep
6b3d676552 Add serialization and comparison for xsd:duration 2019-01-05 18:13:15 +01:00
Cory Slep
6ece169417 Add serialization and comparison for xsd:nonNegativeInteger 2019-01-05 17:17:12 +01:00
Cory Slep
7a99c1587e Add serialization and comparison for xsd:boolean 2019-01-05 17:11:24 +01:00
Cory Slep
3a49fff6bb Add serialization and comparison for xsd:string 2019-01-05 17:02:03 +01:00
Cory Slep
79e3cee633 Add serialization and comparison for xsd:float 2019-01-05 16:58:56 +01:00
Cory Slep
8b8232f1ed Add serialization and comparison for xsd:anyURI 2019-01-05 16:52:47 +01:00
Cory Slep
338fe8d347 Add serialization and comparison for xsd:dateTime. 2019-01-05 16:43:49 +01:00
Cory Slep
4f47e7fdfa Clean up Manager generation.
- Organize manager function generation into one helper method
- Vocabulary name is passed into the type & property generators
- Use interface only in the manager
- Remove unused flags in the main program
2019-01-05 16:22:37 +01:00
Cory Slep
54f8549b10 Add generation of referenced values.
Fix the package qualified naming for value types and also correctly
reference the net/url package in the owl ontology.
2019-01-05 00:00:51 +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 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
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
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
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
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
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
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
Cory Slep
8b4f9fc81c Prepare tool for ingesting JSON LD context defs. 2018-11-28 21:40:11 +01:00
Cory Slep
8795587007 Experimental: Add RDF package for JSONLD context definitions.
This package will be the frontend for reading the JSONLD context
descriptions that specify ActivityStreams vocabularies. This will allow
ingesting publicly hosted or manually-created vocabularies and
generating an internal representation for later code generation.
2018-11-17 16:33:42 +01:00