Ejemplo n.º 1
0
Archivo: Parser.cs Proyecto: ljcleo/LEP
        private IAstNode FunctionDefinition()
        {
            Skip("#");

            Token name = _lexer.Read();
            if (!name.IsIdentifier || _reserved.Contains(name.Text)) throw new ParseException(name);

            IAstNode funcname = new NameNode(name);
            IAstNode parameters = new ParameterNode((TupleNode)Tuple());
            IAstNode body = Block();

            return new FunctionDefinitionNode(new Collection<IAstNode>() { funcname, parameters, body });
        }