├── .github ├── funding.yaml └── workflows │ └── release.yaml ├── .gitignore ├── .goreleaser.yml ├── LICENSE ├── Makefile ├── README.md ├── TODO.txt ├── assets └── mascots.jpg ├── cmd └── dbc4go.go ├── examples ├── bank_account.go ├── doc.go ├── raw_contracts │ ├── bank_account.go │ ├── bit_buffer.go │ ├── enforce_constructor.go │ ├── set.go │ └── stack.go ├── set.go └── stack.go ├── go.mod ├── go.sum ├── internal ├── contract │ ├── contract.go │ ├── contract_test.go │ └── parser │ │ ├── parser.go │ │ └── parser_test.go └── generator │ ├── ClauseExpression.g4 │ ├── contract │ ├── contract_generator.go │ └── contract_generator_test.go │ ├── generator.go │ └── parser │ ├── ClauseExpression.interp │ ├── ClauseExpression.tokens │ ├── ClauseExpressionLexer.interp │ ├── ClauseExpressionLexer.tokens │ ├── clauseexpression_base_listener.go │ ├── clauseexpression_base_visitor.go │ ├── clauseexpression_lexer.go │ ├── clauseexpression_listener.go │ ├── clauseexpression_parser.go │ └── clauseexpression_visitor.go ├── revive.toml └── test ├── dbc4go_test.go └── testdata ├── exist_element_single.go ├── exist_element_single.want.go ├── exist_forall_nested.go ├── exist_forall_nested.want.go ├── forall_element_single.go ├── forall_element_single.want.go ├── forall_exist_nested.go ├── forall_exist_nested.want.go ├── forall_index_single.go ├── forall_index_single.want.go ├── forall_nested.go ├── forall_nested.want.go ├── import.go ├── import.want.go ├── invariant.go ├── invariant.want.go ├── let.go ├── let.want.go ├── multiline.go ├── multiline.want.go ├── old.go ├── old.want.go ├── unmodified.go └── unmodified.want.go /.github/funding.yaml: -------------------------------------------------------------------------------- 1 | buy_me_a_coffee: salvadorca5 2 | -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/.gitignore -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/.goreleaser.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/README.md -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/TODO.txt -------------------------------------------------------------------------------- /assets/mascots.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/assets/mascots.jpg -------------------------------------------------------------------------------- /cmd/dbc4go.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/cmd/dbc4go.go -------------------------------------------------------------------------------- /examples/bank_account.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/bank_account.go -------------------------------------------------------------------------------- /examples/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/doc.go -------------------------------------------------------------------------------- /examples/raw_contracts/bank_account.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/raw_contracts/bank_account.go -------------------------------------------------------------------------------- /examples/raw_contracts/bit_buffer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/raw_contracts/bit_buffer.go -------------------------------------------------------------------------------- /examples/raw_contracts/enforce_constructor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/raw_contracts/enforce_constructor.go -------------------------------------------------------------------------------- /examples/raw_contracts/set.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/raw_contracts/set.go -------------------------------------------------------------------------------- /examples/raw_contracts/stack.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/raw_contracts/stack.go -------------------------------------------------------------------------------- /examples/set.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/set.go -------------------------------------------------------------------------------- /examples/stack.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/examples/stack.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/go.sum -------------------------------------------------------------------------------- /internal/contract/contract.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/contract/contract.go -------------------------------------------------------------------------------- /internal/contract/contract_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/contract/contract_test.go -------------------------------------------------------------------------------- /internal/contract/parser/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/contract/parser/parser.go -------------------------------------------------------------------------------- /internal/contract/parser/parser_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/contract/parser/parser_test.go -------------------------------------------------------------------------------- /internal/generator/ClauseExpression.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/ClauseExpression.g4 -------------------------------------------------------------------------------- /internal/generator/contract/contract_generator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/contract/contract_generator.go -------------------------------------------------------------------------------- /internal/generator/contract/contract_generator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/contract/contract_generator_test.go -------------------------------------------------------------------------------- /internal/generator/generator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/generator.go -------------------------------------------------------------------------------- /internal/generator/parser/ClauseExpression.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/ClauseExpression.interp -------------------------------------------------------------------------------- /internal/generator/parser/ClauseExpression.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/ClauseExpression.tokens -------------------------------------------------------------------------------- /internal/generator/parser/ClauseExpressionLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/ClauseExpressionLexer.interp -------------------------------------------------------------------------------- /internal/generator/parser/ClauseExpressionLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/ClauseExpressionLexer.tokens -------------------------------------------------------------------------------- /internal/generator/parser/clauseexpression_base_listener.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/clauseexpression_base_listener.go -------------------------------------------------------------------------------- /internal/generator/parser/clauseexpression_base_visitor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/clauseexpression_base_visitor.go -------------------------------------------------------------------------------- /internal/generator/parser/clauseexpression_lexer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/clauseexpression_lexer.go -------------------------------------------------------------------------------- /internal/generator/parser/clauseexpression_listener.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/clauseexpression_listener.go -------------------------------------------------------------------------------- /internal/generator/parser/clauseexpression_parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/clauseexpression_parser.go -------------------------------------------------------------------------------- /internal/generator/parser/clauseexpression_visitor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/internal/generator/parser/clauseexpression_visitor.go -------------------------------------------------------------------------------- /revive.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/revive.toml -------------------------------------------------------------------------------- /test/dbc4go_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/dbc4go_test.go -------------------------------------------------------------------------------- /test/testdata/exist_element_single.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/exist_element_single.go -------------------------------------------------------------------------------- /test/testdata/exist_element_single.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/exist_element_single.want.go -------------------------------------------------------------------------------- /test/testdata/exist_forall_nested.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/exist_forall_nested.go -------------------------------------------------------------------------------- /test/testdata/exist_forall_nested.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/exist_forall_nested.want.go -------------------------------------------------------------------------------- /test/testdata/forall_element_single.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_element_single.go -------------------------------------------------------------------------------- /test/testdata/forall_element_single.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_element_single.want.go -------------------------------------------------------------------------------- /test/testdata/forall_exist_nested.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_exist_nested.go -------------------------------------------------------------------------------- /test/testdata/forall_exist_nested.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_exist_nested.want.go -------------------------------------------------------------------------------- /test/testdata/forall_index_single.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_index_single.go -------------------------------------------------------------------------------- /test/testdata/forall_index_single.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_index_single.want.go -------------------------------------------------------------------------------- /test/testdata/forall_nested.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_nested.go -------------------------------------------------------------------------------- /test/testdata/forall_nested.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/forall_nested.want.go -------------------------------------------------------------------------------- /test/testdata/import.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/import.go -------------------------------------------------------------------------------- /test/testdata/import.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/import.want.go -------------------------------------------------------------------------------- /test/testdata/invariant.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/invariant.go -------------------------------------------------------------------------------- /test/testdata/invariant.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/invariant.want.go -------------------------------------------------------------------------------- /test/testdata/let.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/let.go -------------------------------------------------------------------------------- /test/testdata/let.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/let.want.go -------------------------------------------------------------------------------- /test/testdata/multiline.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/multiline.go -------------------------------------------------------------------------------- /test/testdata/multiline.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/multiline.want.go -------------------------------------------------------------------------------- /test/testdata/old.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/old.go -------------------------------------------------------------------------------- /test/testdata/old.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/old.want.go -------------------------------------------------------------------------------- /test/testdata/unmodified.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/unmodified.go -------------------------------------------------------------------------------- /test/testdata/unmodified.want.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chavacava/dbc4go/HEAD/test/testdata/unmodified.want.go --------------------------------------------------------------------------------