45 lines
1.3 KiB
C#
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; } = "";
|
|
}
|
|
}
|