#include "ParsingDefinitions.h"
namespace
{
using
namespace
collections
;
namespace
{
namespace
{
void
ParsingDefinitionPrimitiveType
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionTokenType
::
(
*
)
{
->
(
this
);
}
void
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionArrayType
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionClassMemberDefinition
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionClassDefinition
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionEnumMemberDefinition
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionEnumDefinition
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionPrimitiveGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionTextGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionSequenceGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionAlternativeGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionLoopGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionOptionalGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionCreateGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionAssignGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionUseGrammar
::
(
*
)
{
->
(
this
);
}
void
ParsingDefinitionSetterGrammar
::
(
*
)
{
->
(
this
);
}
ParsingDefinitionAttributeWriter
::
ParsingDefinitionAttributeWriter
(
const
&
)
{
new
ParsingDefinitionAttribute
;
;
}
ParsingDefinitionAttributeWriter
::
ParsingDefinitionAttributeWriter
(
const
ParsingDefinitionAttributeWriter
&
)
{
.
;
}
ParsingDefinitionAttributeWriter
&
ParsingDefinitionAttributeWriter
::
(
const
&
)
{
.
(
);
return
*
this
;
}
<
ParsingDefinitionAttribute
>
ParsingDefinitionAttributeWriter
::
()
const
{
return
;
}
ParsingDefinitionAttributeWriter
(
const
&
)
{
return
ParsingDefinitionAttributeWriter
(
);
}
ParsingDefinitionTypeWriter
::
ParsingDefinitionTypeWriter
(
<
>
)
{
;
}
ParsingDefinitionTypeWriter
::
ParsingDefinitionTypeWriter
(
const
ParsingDefinitionTypeWriter
&
)
{
.
;
}
ParsingDefinitionTypeWriter
::
ParsingDefinitionTypeWriter
(
const
&
)
{
<
ParsingDefinitionPrimitiveType
>
=
new
ParsingDefinitionPrimitiveType
;
primitiveType
;
primitiveType
;
}
ParsingDefinitionTypeWriter
ParsingDefinitionTypeWriter
::
(
const
&
)
const
{
<
>
=
new
;
subType
;
subType
;
return
ParsingDefinitionTypeWriter
(
subType
);
}
ParsingDefinitionTypeWriter
ParsingDefinitionTypeWriter
::
()
const
{
<
ParsingDefinitionArrayType
>
=
new
ParsingDefinitionArrayType
;
arrayType
;
return
ParsingDefinitionTypeWriter
(
arrayType
);
}
<
>
ParsingDefinitionTypeWriter
::
()
const
{
return
;
}
ParsingDefinitionTypeWriter
(
const
&
)
{
return
ParsingDefinitionTypeWriter
(
);
}
ParsingDefinitionTypeWriter
()
{
<
ParsingDefinitionTokenType
>
=
new
ParsingDefinitionTokenType
;
return
ParsingDefinitionTypeWriter
(
type
);
}
ParsingDefinitionClassDefinitionWriter
::
ParsingDefinitionClassDefinitionWriter
(
const
&
)
{
new
ParsingDefinitionClassDefinition
;
;
;
}
ParsingDefinitionClassDefinitionWriter
::
ParsingDefinitionClassDefinitionWriter
(
const
&
,
const
ParsingDefinitionTypeWriter
&
)
{
new
ParsingDefinitionClassDefinition
;
;
.
();
;
}
ParsingDefinitionClassDefinitionWriter
&
ParsingDefinitionClassDefinitionWriter
::
(
const
ParsingDefinitionTypeWriter
&
)
{
.
();
return
*
this
;
}
ParsingDefinitionClassDefinitionWriter
&
ParsingDefinitionClassDefinitionWriter
::
(
const
&
,
const
ParsingDefinitionTypeWriter
&
,
const
&
)
{
<
ParsingDefinitionClassMemberDefinition
>
=
new
ParsingDefinitionClassMemberDefinition
;
member
;
member
.
();
member
;
.
(
member
);
member
;
return
*
this
;
}
ParsingDefinitionClassDefinitionWriter
&
ParsingDefinitionClassDefinitionWriter
::
(
const
ParsingDefinitionTypeDefinitionWriter
&
)
{
.
(
.
());
return
*
this
;
}
ParsingDefinitionClassDefinitionWriter
&
ParsingDefinitionClassDefinitionWriter
::
(
const
ParsingDefinitionAttributeWriter
&
)
{
.
(
.
());
return
*
this
;
}
<
ParsingDefinitionTypeDefinition
>
ParsingDefinitionClassDefinitionWriter
::
()
const
{
return
;
}
ParsingDefinitionClassDefinitionWriter
(
const
&
)
{
return
ParsingDefinitionClassDefinitionWriter
(
);
}
ParsingDefinitionClassDefinitionWriter
(
const
&
,
const
ParsingDefinitionTypeWriter
&
)
{
return
ParsingDefinitionClassDefinitionWriter
(
,
);
}
ParsingDefinitionEnumDefinitionWriter
::
ParsingDefinitionEnumDefinitionWriter
(
const
&
)
{
new
ParsingDefinitionEnumDefinition
;
;
;
}
ParsingDefinitionEnumDefinitionWriter
&
ParsingDefinitionEnumDefinitionWriter
::
(
const
&
)
{
<
ParsingDefinitionEnumMemberDefinition
>
=
new
ParsingDefinitionEnumMemberDefinition
;
member
;
.
(
member
);
member
;
return
*
this
;
}
ParsingDefinitionEnumDefinitionWriter
&
ParsingDefinitionEnumDefinitionWriter
::
(
const
ParsingDefinitionAttributeWriter
&
)
{
.
(
.
());
return
*
this
;
}
<
ParsingDefinitionTypeDefinition
>
ParsingDefinitionEnumDefinitionWriter
::
()
const
{
return
;
}
ParsingDefinitionEnumDefinitionWriter
(
const
&
)
{
return
ParsingDefinitionEnumDefinitionWriter
(
);
}
ParsingDefinitionGrammarWriter
::
ParsingDefinitionGrammarWriter
(
<
>
)
{
;
}
ParsingDefinitionGrammarWriter
::
ParsingDefinitionGrammarWriter
(
const
ParsingDefinitionGrammarWriter
&
)
{
.
;
}
ParsingDefinitionGrammarWriter
ParsingDefinitionGrammarWriter
::
(
const
ParsingDefinitionGrammarWriter
&
)
const
{
<
ParsingDefinitionSequenceGrammar
>
=
new
ParsingDefinitionSequenceGrammar
;
sequence
;
sequence
.
();
return
ParsingDefinitionGrammarWriter
(
sequence
);
}
ParsingDefinitionGrammarWriter
ParsingDefinitionGrammarWriter
::
(
const
ParsingDefinitionGrammarWriter
&
)
const
{
<
ParsingDefinitionAlternativeGrammar
>
=
new
ParsingDefinitionAlternativeGrammar
;
alternative
;
alternative
.
();
return
ParsingDefinitionGrammarWriter
(
alternative
);
}
ParsingDefinitionGrammarWriter
ParsingDefinitionGrammarWriter
::
()
const
{
<
ParsingDefinitionLoopGrammar
>
=
new
ParsingDefinitionLoopGrammar
;
loop
;
return
ParsingDefinitionGrammarWriter
(
loop
);
}
ParsingDefinitionGrammarWriter
ParsingDefinitionGrammarWriter
::
(
const
ParsingDefinitionTypeWriter
&
)
const
{
<
ParsingDefinitionCreateGrammar
>
=
new
ParsingDefinitionCreateGrammar
;
create
;
create
.
();
return
ParsingDefinitionGrammarWriter
(
create
);
}
ParsingDefinitionGrammarWriter
ParsingDefinitionGrammarWriter
::
(
const
&
)
const
{
<
ParsingDefinitionAssignGrammar
>
=
new
ParsingDefinitionAssignGrammar
;
assign
;
assign
;
return
ParsingDefinitionGrammarWriter
(
assign
);
}
ParsingDefinitionGrammarWriter
ParsingDefinitionGrammarWriter
::
()
const
{
<
ParsingDefinitionUseGrammar
>
=
new
ParsingDefinitionUseGrammar
;
use
;
return
ParsingDefinitionGrammarWriter
(
use
);
}
ParsingDefinitionGrammarWriter
ParsingDefinitionGrammarWriter
::
(
const
&
,
const
&
)
const
{
<
ParsingDefinitionSetterGrammar
>
=
new
ParsingDefinitionSetterGrammar
;
setter
;
setter
;
setter
;
return
ParsingDefinitionGrammarWriter
(
setter
);
}
<
>
ParsingDefinitionGrammarWriter
::
()
const
{
return
;
}
ParsingDefinitionGrammarWriter
(
const
&
)
{
<
ParsingDefinitionPrimitiveGrammar
>
=
new
ParsingDefinitionPrimitiveGrammar
;
grammar
;
return
ParsingDefinitionGrammarWriter
(
grammar
);
}
ParsingDefinitionGrammarWriter
(
const
&
)
{
<
ParsingDefinitionTextGrammar
>
=
new
ParsingDefinitionTextGrammar
;
grammar
;
return
ParsingDefinitionGrammarWriter
(
grammar
);
}
ParsingDefinitionGrammarWriter
(
const
ParsingDefinitionGrammarWriter
&
)
{
<
ParsingDefinitionOptionalGrammar
>
=
new
ParsingDefinitionOptionalGrammar
;
grammar
.
();
return
ParsingDefinitionGrammarWriter
(
grammar
);
}
ParsingDefinitionTokenDefinitionWriter
::
ParsingDefinitionTokenDefinitionWriter
(
&
,
<
ParsingDefinitionTokenDefinition
>
)
:owner(
)
,token(
)
{
}
ParsingDefinitionTokenDefinitionWriter
&
ParsingDefinitionTokenDefinitionWriter
::
(
const
ParsingDefinitionAttributeWriter
&
)
{
.
(
.
());
return
*
this
;
}
&
ParsingDefinitionTokenDefinitionWriter
::
()
{
return
;
}
ParsingDefinitionRuleDefinitionWriter
::
ParsingDefinitionRuleDefinitionWriter
(
&
,
<
ParsingDefinitionRuleDefinition
>
)
:owner(
)
,rule(
)
{
}
ParsingDefinitionRuleDefinitionWriter
&
ParsingDefinitionRuleDefinitionWriter
::
(
const
ParsingDefinitionGrammarWriter
&
)
{
.
(
.
());
return
*
this
;
}
ParsingDefinitionRuleDefinitionWriter
&
ParsingDefinitionRuleDefinitionWriter
::
(
const
ParsingDefinitionAttributeWriter
&
)
{
.
(
.
());
return
*
this
;
}
&
ParsingDefinitionRuleDefinitionWriter
::
()
{
return
;
}
::
()
{
new
;
}
&
::
(
const
ParsingDefinitionTypeDefinitionWriter
&
)
{
types
.
(
.
());
return
*
this
;
}
&
::
(
const
&
,
const
&
)
{
return
(
,
).
();
}
ParsingDefinitionTokenDefinitionWriter
::
(
const
&
,
const
&
)
{
<
ParsingDefinitionTokenDefinition
>
=
new
ParsingDefinitionTokenDefinition
;
token
;
token
;
token
=
false
;
.
(
token
);
return
ParsingDefinitionTokenDefinitionWriter
(*
this
,
token
);
}
&
::
(
const
&
,
const
&
)
{
<
ParsingDefinitionTokenDefinition
>
=
new
ParsingDefinitionTokenDefinition
;
token
;
token
;
token
=
true
;
.
(
token
);
return
*
this
;
}
ParsingDefinitionRuleDefinitionWriter
::
(
const
&
,
const
ParsingDefinitionTypeWriter
&
)
{
<
ParsingDefinitionRuleDefinition
>
=
new
ParsingDefinitionRuleDefinition
;
rule
;
rule
.
();
.
(
rule
);
return
ParsingDefinitionRuleDefinitionWriter
(*
this
,
rule
);
}
<
>
::
()
const
{
return
;
}
}
}
}