Пример #1
0
        public static LuryObject PrintLine(LuryObject value)
        {
            var text = value + "\n";

            Console.Write(text);
            return(LuryString.GetObject(text));
        }
Пример #2
0
        public static LuryObject Print(LuryObject value)
        {
            var text = value.ToString();

            Console.Write(text);
            return(LuryString.GetObject(text));
        }
Пример #3
0
        public override LuryObject VisitLiteral(LuryParser.LiteralContext context)
        {
            if (context.String != null)
            {
                var str = context.children[0].GetText();
                return(LuryString.GetObject(str.ConvertToInternalString(str[0])));
            }

            if (context.Real != null)
            {
                return(LuryReal.GetObject(context.children[0].GetText().ForLuryReal()));
            }

            if (context.Integer != null)
            {
                return(LuryInteger.GetObject(context.children[0].GetText().ForLuryInteger()));
            }

            if (context.List != null)
            {
                return(VisitList_literal(context.List));
            }

            throw new InvalidOperationException();
        }
Пример #4
0
 public override LuryObject VisitParameter(LuryParser.ParameterContext context)
 {
     return(LuryList.GetObject(
                context.children
                .Where(_ => _.GetText() != ",")
                .Select(_ => LuryString.GetObject(_.GetText()))));
 }
Пример #5
0
 public static LuryObject ReadLine()
 {
     return(LuryString.GetObject(Console.ReadLine()));
 }
Пример #6
0
 public static LuryObject Read()
 {
     return(LuryString.GetObject(((char)Console.Read()).ToString()));
 }