예제 #1
0
//------------------------------------------------------------
        public void Visit(NLitChar node)
        {
            Console.WriteLine($"+++++++++++++++ NLitChar ++++++++++++++++");
            Console.WriteLine($"\n\n\n\n\n\t\t\tnode:    {node.GetType()}");

            if (pasones == 3)
            {
                File.AppendAllText(lePatheo,
                                   $@"ldc.i4.s {node.AnchorToken.Lexeme}
        ");
            }
            //VisitChildren(node);
        }
예제 #2
0
        public string Visit(NLitChar nLitChar)
        {
            string lexeme          = nLitChar.AnchorToken.Lexeme;
            int    lexemeLength    = lexeme.Length;
            string sanitizedLexeme = Regex.Replace(lexeme.Substring(1, lexemeLength - 2), @"\\[u]([0-9A-Fa-f]{6})", m => char.ToString((char)ushort.Parse(m.Groups[1].Value, NumberStyles.AllowHexSpecifier)));

            sanitizedLexeme = Regex.Unescape(sanitizedLexeme);
            IEnumerable <long> chars = Utils.AsCodePoints(sanitizedLexeme);

            foreach (long character in chars)
            {
                return("\t\tldc.i8 " + character + "\n");
            }
            return("");
        }
예제 #3
0
//------------------------------------------------------------
        public void Visit(NLitChar node)
        {
            Console.WriteLine($"+++++++++++++++ NLitChar ++++++++++++++++");
            Console.WriteLine($"\n\n\n\n\n\t\t\tnode:    {node.GetType()}");
            //VisitChildren(node);
        }
 public void Visit(NLitChar nLitChar)
 {
     // Do nothing
 }