public SettingsParser(SettingsSyntax proposedSyntax = null)
        {
            this.Syntax = proposedSyntax ?? new SettingsSyntax();

            ConcatenationParser listParser = new ConcatenationParser (
                this.Syntax.ArrayOpen, this.Syntax.ArrayClose, this.Syntax.ArrayDelimiter
            );
            AnyParser ExpressionParser = new AnyParser (
                new AnyValueParser(),
                new AnyStringParser(),
                new StringConcatenationParser(this.Syntax),
                listParser,
                this
            );
            listParser.InnerParser = ExpressionParser;

            this.HeadParser = new HeadParser (ExpressionParser, this.Syntax);
            this.PredefParser = new PredefinitionParser();
            this.ChainParser = new ExtensionParser (this.Syntax.Chainer, this.Syntax.ChainSubstitution, this);
            this.BodyParser = new BodyParser (ExpressionParser, this.Syntax);
            this.SuccessorParser = new ExtensionParser (this.Syntax.Successor, this.Syntax.SuccessorSubstitution, this);
        }
 public void SetUp()
 {
     this.SUT = new ConcatenationParser ('(', ')', ',');
     this.SUT.InnerParser = new IdentifierParser ();
 }