|
|
|
InterpreterПаттерин interpreter используется для создания интерпретаторов языков, для которых задана грамматика
namespace Interpreter_DesignPattern
{
using System;
using System.Collections;
class Context
{
}
abstract class AbstractExpression
{
abstract public void Interpret(Context c);
}
// Класс, представляющий терминальный символ
class TerminalExpression : AbstractExpression
{
override public void Interpret(Context c)
{
}
}
// Класс, представляющий грамматическое правило
class NonterminalExpression : AbstractExpression
{
override public void Interpret(Context c)
{
}
}
public class Client
{
public static int Main(string[] args)
{
Context c = new Context();
ArrayList l = new ArrayList(); // На самом деле здесь должно быть дерево
l.Add(new TerminalExpression());
l.Add(new NonterminalExpression());
// interpret
foreach (AbstractExpression exp in l)
{
exp.Interpret(c);
}
return 0;
}
}
}
![]() Back |
| Контакт | Реклама на сайте | Спонсорам | Веб мастерам |
Лицензионное соглашение
- © 2000-2010 dotSITE
Хостинг .NET предоставлен
PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development