Beispiel #1
0
        private Block ParseBlock()
        {
            string token = null;
            var    block = new Block()
            {
                Name = _scanner.GetPreviousToken()
            };

            while ((token = _scanner.GetToken()) != "}")
            {
                if (token == null)
                {
                    break;
                }
                switch (token)
                {
                case "{":
                    block.AddStatement(ParseBlock());
                    break;

                case "(":
                    block.AddStatement(ParseInstruction());
                    break;

                case "=":
                    block.AddStatement(ParseVariable());
                    break;

                default:
                    block.AddUnknownStatement(token);
                    break;
                }
            }

            return(block);
        }