Add literals - replacements of strings and numbers in parser.

This commit is contained in:
Ilmir Usmanov
2014-10-31 21:22:52 +04:00
parent 05cf2dbe04
commit 8c7dc08d93
26 changed files with 822 additions and 568 deletions
+3 -1
View File
@@ -17,13 +17,15 @@
#define COMMON_H
#include "jerry-libc.h"
#include "literal.h"
#define NAME_TO_ID(op) (__op__idx_##op)
#define __OPCODE_SIZE(name, arg1, arg2, arg3) \
sizeof (__op_##name) + 1,
#define LP(s) (lp_string) { .length = (uint8_t) __strlen(s), .str = (ecma_char_t *) s }
#define LP(s) create_literal_from_str_compute_len (s)
#define NUM(s) create_literal_from_num (s)
static uint8_t opcode_sizes[] = {
OP_LIST (OPCODE_SIZE)
@@ -40,10 +40,10 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 2, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
NUM(2.0) };
serializer_dump_literals (lits, 3);
init_int( test_program, false);
+8 -8
View File
@@ -172,14 +172,14 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b"),
LP("length"),
LP("1") };
ecma_number_t nums [] = { 2.0,
12.0,
2.5 };
serializer_dump_strings_and_nums (strings, 4, nums, 3);
const literal literals[] = { LP("a"),
LP("b"),
LP("length"),
LP("1"),
NUM(2.0),
NUM(12.0),
NUM(2.5) };
serializer_dump_literals (literals, 7);
init_int( test_program, false);
+4 -4
View File
@@ -45,10 +45,10 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 2, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
NUM(2.0) };
serializer_dump_literals (lits, 3);
init_int( test_program, false);
+4 -4
View File
@@ -40,10 +40,10 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 2, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
NUM(2.0) };
serializer_dump_literals (lits, 3);
init_int( test_program, false);
+4 -4
View File
@@ -40,10 +40,10 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 2, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
NUM(2.0) };
serializer_dump_literals (lits, 3);
init_int( test_program, false);
+1 -1
View File
@@ -33,7 +33,7 @@ main( int __unused argc,
mem_init();
deserializer_init ();
parser_init (program, __strlen (program), false);
parser_init (program, __strlen (program), true);
parser_parse_program ();
parser_free ();
+4 -4
View File
@@ -40,10 +40,10 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 2, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
NUM(2.0) };
serializer_dump_literals (lits, 3);
init_int( test_program, false);
+4 -4
View File
@@ -40,10 +40,10 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 2, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
NUM(2.0) };
serializer_dump_literals (lits, 3);
init_int( test_program, false);
+5 -5
View File
@@ -53,11 +53,11 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b"),
LP("c") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 3, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
LP("c"),
NUM(2.0) };
serializer_dump_literals (lits, 4);
init_int( test_program, false);
@@ -38,10 +38,10 @@ main( int __unused argc,
mem_init();
serializer_init (false);
const lp_string strings[] = { LP("a"),
LP("b") };
ecma_number_t nums [] = { 2.0 };
serializer_dump_strings_and_nums (strings, 2, nums, 1);
const literal lits[] = { LP("a"),
LP("b"),
NUM(2.0) };
serializer_dump_literals (lits, 3);
init_int( test_program, false);