#ifndef VCZH_PARSING_PARSINGTABLE
#define VCZH_PARSING_PARSINGTABLE
#include "ParsingTree.h"
namespace
{
namespace
{
namespace
{
class
:
public
{
public
:
static
const
=
0
;
static
const
=
1
;
static
const
=
2
;
static
const
=
3
;
static
const
=
4
;
class
:
public
{
public
:
;
collections
::
<
>
;
(
const
&
=
L""
)
:name(
)
{
}
*
(
const
&
)
{
.
(
);
return
this
;
}
};
class
:
public
{
public
:
collections
::
<
<
>>
;
<
>
(
const
&
);
};
class
{
public
:
;
;
()
:attributeIndex(-
1
)
{
}
(
const
&
,
)
:type(
)
,attributeIndex(
)
{
}
};
class
{
public
:
;
;
;
()
:attributeIndex(-
1
)
{
}
(
const
&
,
const
&
,
)
:type(
)
,field(
)
,attributeIndex(
)
{
}
};
class
{
public
:
;
;
;
;
()
:regexTokenIndex(-
1
)
,attributeIndex(-
1
)
{
}
(
const
&
,
const
&
,
)
:name(
)
,regex(
)
,regexTokenIndex(-
1
)
,attributeIndex(
)
{
}
};
class
{
public
:
;
;
;
;
()
{
}
(
const
&
,
const
&
,
const
&
)
:ruleName(
)
,stateName(
)
,stateExpression(
)
{
}
};
class
{
public
:
;
;
;
;
;
()
:rootStartState(-
1
)
,attributeIndex(-
1
)
{
}
(
const
&
,
const
&
,
const
&
,
,
)
:name(
)
,type(
)
,ambiguousType(
)
,rootStartState(
)
,attributeIndex(
)
{
}
};
class
{
public
:
enum
{
,
,
,
,
,
,
,
,
};
;
;
;
;
;
()
:instructionType(
)
,stateParameter(
0
)
{
}
(
,
,
const
&
,
const
&
,
const
&
)
:instructionType(
)
,stateParameter(
)
,nameParameter(
)
,value(
)
,creatorRule(
)
{
}
};
class
{
public
:
collections
::
<
>
;
;
()
:state(-
1
)
{
}
enum
{
,
,
,
};
static
(
<
>
,
<
>
);
static
void
(
<
>
,
<
>
,
,
collections
::
<
>&
,
collections
::
<
<
>>&
);
static
void
(
<
>
,
<
>
,
,
collections
::
<
<
>>&
);
};
class
{
public
:
;
;
collections
::
<
<
>>
;
collections
::
<
>
;
collections
::
<
>
;
enum
{
,
,
,
,
};
(){}
(
,
)
:token(
)
,targetState(
)
{
}
static
(
<
>
,
<
>
,
=
);
static
(
<
>
,
<
>
,
);
};
class
{
public
:
collections
::
<
<
>>
;
};
protected
:
bool
;
collections
::
<
<
>>
;
collections
::
<
>
;
collections
::
<
>
;
;
;
collections
::
<
>
;
collections
::
<
>
;
collections
::
<
>
;
collections
::
<
>
;
collections
::
<
<
>>
;
<
regex
::
>
;
collections
::
<
,
>
;
collections
::
<
,
>
;
collections
::
<
collections
::
<
,
>,
>
;
template
<
typename
>
void
(
&
);
public
:
(
,
,
,
,
,
,
);
(
stream
::
&
);
();
void
(
stream
::
&
);
bool
();
void
(
bool
);
();
<
>
(
);
void
(
,
<
>
);
();
const
&
(
);
const
&
(
const
&
);
void
(
,
const
&
);
();
const
&
(
);
const
&
(
const
&
,
const
&
);
void
(
,
const
&
);
();
const
&
(
);
void
(
,
const
&
);
();
const
&
(
);
void
(
,
const
&
);
();
const
&
(
);
void
(
,
const
&
);
();
const
&
(
const
&
);
const
&
(
);
void
(
,
const
&
);
const
regex
::
&
();
<
>
(
,
);
void
(
,
,
<
>
);
void
();
bool
(
);
(
);
GetTableDiscardTokenIndex
(
);
};
extern
void
(
<
>
,
stream
::
&
);
}
}
}
#endif