An open API service indexing awesome lists of open source software.

https://github.com/thalesgroup/frama-c-lsp

This repository contains both the server and client software that implement the Language Server Protocol (LSP) for C/ACSL language. The server part is a novel Frama-C plugin called "lsp". The client part is a VsCode extension.
https://github.com/thalesgroup/frama-c-lsp

acsl c formal-methods formal-verification frama-c lsp lsp-client lsp-server vscode-extension

Last synced: 2 months ago
JSON representation

This repository contains both the server and client software that implement the Language Server Protocol (LSP) for C/ACSL language. The server part is a novel Frama-C plugin called "lsp". The client part is a VsCode extension.

Awesome Lists containing this project

README

        

# ACSl LSP

This repository contains both the server and client software that implement the Language Server Protocol (LSP) for C/ACSL language.
Refer to README files in each subdirectory for installation guidelines.

The client part is inspired from https://github.com/Microsoft/vscode-extension-samples/tree/main/lsp-sample

The server part is a Frama-C plugin called "LSP" that has two usage modes:
- handler mode: ensures sustainable exchange of TCP/IP sockets between the server and the client.
- feature mode: ensures background frama-c process execution with parameters required for requested feature.

## Configuration
This software is compatible with Frama-C v29.0 and Linux ubuntu 22.04 LTS.
No other configuration is supported currently.

## Contributing
We welcome contributions from the community! If you would like to contribute, follow these steps:

- Fork the repository.
- Create a new branch (git checkout -b feature/your-feature).
- Make your changes.
- Commit your changes (git commit -am 'Add new feature').
- Push to the branch (git push origin feature/your-feature).
- Open a pull request.
- Please ensure your code adheres to the project's coding standards and includes appropriate tests if necessary.

## License
This project is licensed under the LGPLv3 License - see the LICENSE file for details.

## Acknowledgments
This software has been initiated in 2024 by Djamila MOHAMED and Adel DJOUDI.