turing-machine/Implementation/Core/ExampleConfig.cs

45 lines
1.3 KiB
C#

namespace TuringMachine.Core
{
/// <summary>
/// Model representing a Turing machine example configuration.
/// </summary>
public class ExampleConfig
{
/// <summary>Example name (localized)</summary>
public List<LocalizedText> Name { get; set; } = new();
/// <summary>Initial tape content</summary>
public string TapeInput { get; set; } = "";
/// <summary>Head start position</summary>
public int HeadPosition { get; set; }
/// <summary>Action table (structured action list)</summary>
public List<ActionEntry> Actions { get; set; } = new();
}
/// <summary>
/// Model representing a single transition rule.
/// </summary>
public class ActionEntry
{
/// <summary>Rule value in CSV format (State, Read, NewState, Write, Move)</summary>
public string Value { get; set; } = "";
/// <summary>Localized comment list</summary>
public List<LocalizedText> Comment { get; set; } = new();
}
/// <summary>
/// Localized text entry.
/// </summary>
public class LocalizedText
{
/// <summary>Language code (e.g. en-US, ko-KR)</summary>
public string Language { get; set; } = "";
/// <summary>Text value for the language</summary>
public string Value { get; set; } = "";
}
}