sysl

module
v0.768.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2024 License: Apache-2.0

README

Sysl

Match your system implementation and design as consistent as possible

Latest Release FOSSA Status

GitHub Actions Release status GitHub Actions Go-Darwin status GitHub Actions Go-Linux status GitHub Actions Go-Windows status

Sysl (pronounced "sizzle") is a open source system specification language. Using Sysl, you can specify systems, endpoints, endpoint behaviour, data models and data transformations. The Sysl compiler automatically generates sequence diagrams, integrations, and other views. It also offers a range of code generation options, all from one common Sysl specification.

The set of outputs is open-ended and allows for your own extensions. Sysl has been created with extensibility in mind and it will grow to support other representations over time.

Documentation

Documentation is hosted live at https://sysl.io.

Installation

There are several approaches to get start using Sysl. See the install page for details.

Contributing

We encourage contributions to this project! Please have a look at the contributing guide for more information.

Contributors

This project exists thanks to all the people who contribute.

Versioning

We use Semver for versioning. For the versions available, see the releases on this repository.

License

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details

Directories

Path Synopsis
cmd
demo
docs
internal
language
go/cmd/relgom/example/petshop
Code generated by sysl DO NOT EDIT.
Code generated by sysl DO NOT EDIT.
pkg
cfg
ebnfparser
Code generated by "ωBNF gen" DO NOT EDIT.
Code generated by "ωBNF gen" DO NOT EDIT.
env
loader
package loader loads a source file into a sysl Module
package loader loads a source file into a sysl Module
lsp/framework/jsonrpc2
Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec.
Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec.
lsp/framework/jsonrpc2/servertest
Package servertest provides utilities for running tests against a remote LSP server.
Package servertest provides utilities for running tests against a remote LSP server.
lsp/framework/lsp/helper
Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in internal/lsp
Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in internal/lsp
lsp/framework/lsp/protocol
Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol".
Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol".
lsp/framework/xcontext
Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package.
Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package.
lsp/impl
Package impl implements LSP for sysl.
Package impl implements LSP for sysl.
lsp/server
Package lsp/server implements a jsonrpc2.StreamServer that may be used to serve the LSP on a jsonrpc2 channel.
Package lsp/server implements a jsonrpc2.StreamServer that may be used to serve the LSP on a jsonrpc2 channel.
msg
printer
package printer prints out sysl datamodels back to source code using the Printer struct.
package printer prints out sysl datamodels back to source code using the Printer struct.
testrig
Package testrig provides tools for generating standalone test environment for sysl generated services
Package testrig provides tools for generating standalone test environment for sysl generated services

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL