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

https://github.com/exercism/csharp-representer


https://github.com/exercism/csharp-representer

community-contributions-paused exercism-representer exercism-tooling maintained-autonomous

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# Exercism C# representer

A [representer][representer-introduction] creates a general representation of a submission, in order to automatically give feedback on similar code.

This repository contains the C# representer, which implements the [representer interface][representer-interface]. It uses [Roslyn][roslyn] to parse the submission's source code into syntax trees, which are then normalized and output as a representation.

## Generate a representation for a solution

To create a representation of a solution, follow these steps:

1. Open a command prompt in the root directory.
1. Run `./bin/run.sh `. This script will generate a representation for the solution found in ``.
1. Once the script has completed, the representation will be written to `/representation.txt`.

## Generate a representation for a solution using Docker

To generate a representation for a solution using a Docker container, follow these steps:

1. Open a command prompt in the root directory.
1. Run `./bin/run-in-docker.sh `. This script will:
1. Build the representer Docker image (if necessary).
1. Run the representer Docker image (as a container), passing the specified `exercise`, `input-directory` and `output-directory` arguments.
1. Once the script has completed, the representation can be found at `/representation.txt`.

[representer-introduction]: https://github.com/exercism/automated-analysis/blob/master/docs/representers/introduction.md
[representer-interface]: https://github.com/exercism/automated-analysis/blob/master/docs/representers/interface.md
[roslyn]: https://docs.microsoft.com/nl-nl/dotnet/csharp/roslyn-sdk/