Advertisement
vasy1

Untitled

Jun 7th, 2023
819
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.38 KB | None | 0 0
  1. Grammar grammar = new Grammar(
  2.     new List<Symbol> { new Symbol('a'), new Symbol('c'), new Symbol('d'), new Symbol('k') }, // Tерминалы
  3.     new List<Symbol> { new Symbol('S'), new Symbol('A'), new Symbol('B'), new Symbol('C'), new Symbol('D'), new Symbol('V'), new Symbol('V\'') }, // Нетерминалы
  4.     new List<Rule>
  5.     {
  6.         new Rule(new Symbol('S'), new List<Symbol> { new Symbol('A'), new Symbol('B') }), // p1: S → AB
  7.         new Rule(new Symbol('A'), new List<Symbol> { new Symbol('C'), new Symbol('D') }), // p2: A → CD
  8.         new Rule(new Symbol('B'), new List<Symbol> { new Symbol('a') }), // p3: B → a
  9.         new Rule(new Symbol('B'), new List<Symbol> { new Symbol('d'), new Symbol('V') }), // p4: B → dV
  10.         new Rule(new Symbol('C'), new List<Symbol> { new Symbol('d') }), // p5: C → d
  11.         new Rule(new Symbol('D'), new List<Symbol> { new Symbol('c') }), // p6: D → c
  12.         new Rule(new Symbol('V'), new List<Symbol> { new Symbol('k') }), // p7: V → k
  13.         new Rule(new Symbol('V'), new List<Symbol> { new Symbol('k'), new Symbol('V\'') }), // p8: V → kV’
  14.         new Rule(new Symbol('V\''), new List<Symbol> { new Symbol('k') }), // p9: V’ → k
  15.         new Rule(new Symbol('V\''), new List<Symbol> { new Symbol('k'), new Symbol('V\'') }) // p10: V’ → kV’
  16.     },
  17.     new Symbol('S') // Стартовый символ
  18. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement