コミットグラフ

244 コミット

作成者 SHA1 メッセージ 日付
Cory Slep
26988b6cd2 Add BCP47 to known values 2019-01-06 12:27:18 +01:00
Cory Slep
4bc51a9f97 Fix deserialize signatures for types and values 2019-01-06 12:26:58 +01:00
Cory Slep
be110cf688 Add per-package files for property-based packages. 2019-01-06 00:13:24 +01:00
Cory Slep
7e96603df9 Use At method instead of indexing into other non-functional property 2019-01-05 23:54:17 +01:00
Cory Slep
2aefaeb873 Fix old "handled" deserialization and iterator interface qualifiers. 2019-01-05 23:49:18 +01:00
Cory Slep
73d677460b Make manager interface for type packages have unique methods 2019-01-05 23:19:50 +01:00
Cory Slep
99343f540a Stop method and member identifier name clash on types 2019-01-05 23:14:49 +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
5c5fcd22e8 Fix functional property qualified interface bug. 2019-01-05 22:49:31 +01:00
Cory Slep
58e3d21e19 Add per-package files for type-based packages.
This takes care of abstracting away the manager for the generated types,
and also provides the hooks for the manager to inject itself at init
time.
2019-01-05 22:46:58 +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
c36c529c5f Add unknown property support 2019-01-05 13:05:11 +01:00
Cory Slep
87064de883 Simplify type getting parent types uniquely 2019-01-05 12:19:56 +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
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 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