Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
LRStateAction.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 //
4 // ----------------------------------------------------------------------
5 // Gold Parser engine.
6 // See more details on http://www.devincook.com/goldparser/
7 //
8 // Original code is written in VB by Devin Cook (GOLDParser@DevinCook.com)
9 //
10 // This translation is done by Vladimir Morozov (vmoroz@hotmail.com)
11 //
12 // The translation is based on the other engine translations:
13 // Delphi engine by Alexandre Rai (riccio@gmx.at)
14 // C# engine by Marcus Klimstra (klimstra@home.nl)
15 // ----------------------------------------------------------------------
16 #region Using directives
17 
18 using System;
19 
20 #endregion
21 
22 namespace GoldParser
23 {
24  /// <summary>
25  /// Action in a LR State.
26  /// </summary>
27  internal class LRStateAction
28  {
29  private int m_index;
30  private Symbol m_symbol;
31  private LRAction m_action;
32  internal int m_value;
33 
34  /// <summary>
35  /// Creats a new instance of the <c>LRStateAction</c> class.
36  /// </summary>
37  /// <param name="index">Index of the LR state action.</param>
38  /// <param name="symbol">Symbol associated with the action.</param>
39  /// <param name="action">Action type.</param>
40  /// <param name="value">Action value.</param>
41  public LRStateAction(int index, Symbol symbol, LRAction action, int value)
42  {
43  m_index = index;
44  m_symbol = symbol;
45  m_action = action;
46  m_value = value;
47  }
48 
49  /// <summary>
50  /// Gets index of the LR state action.
51  /// </summary>
52  public int Index
53  {
54  get { return m_index; }
55  }
56 
57  /// <summary>
58  /// Gets symbol associated with the LR state action.
59  /// </summary>
60  public Symbol Symbol
61  {
62  get { return m_symbol; }
63  }
64 
65  /// <summary>
66  /// Gets action type.
67  /// </summary>
68  public LRAction Action
69  {
70  get { return m_action; }
71  }
72 
73  /// <summary>
74  /// Gets the action value.
75  /// </summary>
76  public int Value
77  {
78  get { return m_value; }
79  }
80  }
81 }