コード例 #1
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_nested_lua_table(self):
        lua_table_str = '{array = {65,23,5},dict = {mixed = {43,54.33,false,9,string = "value",},array = {3,6,4,},string = "value",},}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()

        # list1
        list1 = dumped_dict['array']
        self.assertTrue(type(list1) == list)
        self.assertEqual(list1[0], 65)
        self.assertEqual(list1[1], 23)
        self.assertEqual(list1[2], 5)

        # dict1
        dict1 = dumped_dict['dict']
        self.assertTrue(type(dict1) == dict)

        # dict2 in dict1
        dict2 = dict1['mixed']
        self.assertTrue(type(dict2) == dict)
        self.assertEqual(dict2[1], 43)
        self.assertEqual(dict2[2], 54.33)
        self.assertEqual(dict2[3], False)
        self.assertEqual(dict2['string'], 'value')

        # list2 in dict1
        list2 = dict1['array']
        self.assertTrue(type(list2) == list)
        self.assertEqual(list2[0], 3)
        self.assertEqual(list2[1], 6)
        self.assertEqual(list2[2], 4)

        self.assertEqual(dict1['string'], 'value')
コード例 #2
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_str_key_with_special_str3(self):
        lua_table_str = '{["ke\\"]y"] = 1}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['ke\"]y'], 1)
コード例 #3
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_empty_lua_table(self):
        lua_table_str = '{}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertTrue(len(dumped_dict) == 0)
コード例 #4
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_num(self):
        lua_table_str = '{num = 100}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['num'], 100)
コード例 #5
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_scientific_notation(self):
        lua_table_str = '{num = 12.34e5}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['num'], 12.34e5)
コード例 #6
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_str_key_with_any_charactors(self):
        lua_table_str = '{["\\"\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?"] = 1}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(
            dumped_dict['"\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?'], 1)
コード例 #7
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_str_key_with_empty_str_key(self):
        lua_table_str = '{[""] = 1, [" "] = 2}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict[''], 1)
        self.assertEqual(dumped_dict[' '], 2)
コード例 #8
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_string_value_with_backslash(self):
        lua_table_str = '{backslash = "\\\\", controls = "\\b\\f\\n\\r\\t",}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['backslash'], '\\')
        self.assertEqual(dumped_dict['controls'], '\b\f\n\r\t')
コード例 #9
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_string_value(self):
        lua_table_str = '{empty = "", str = "a string."}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['empty'], '')
        self.assertEqual(dumped_dict['str'], 'a string.')
コード例 #10
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_string_value_with_escape_character(self):
        lua_table_str = '{empty = "\\"", str = "a string."}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['empty'], '\"')
        self.assertEqual(dumped_dict['str'], 'a string.')
コード例 #11
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_float_number(self):
        lua_table_str = '{weight = 60.55, height = 170.}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['weight'], 60.55)
        self.assertEqual(dumped_dict['height'], 170.0)
コード例 #12
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_list_with_nested_dict(self):
        lua_table_str = '{{}}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertTrue(type(dumped_dict) == list)
        self.assertTrue(type(dumped_dict[0]) == list)
        self.assertTrue(len(dumped_dict[0]) == 0)
コード例 #13
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_string_value_with_any_character(self):
        lua_table_str = '{empty = "\\\\\\"\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?", str = "a string."}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['empty'],
                         '\\\"\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?')
        self.assertEqual(dumped_dict['str'], 'a string.')
コード例 #14
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_num_key(self):
        lua_table_str = '{[-1] = "Python", [2] = "C++", [-99] = "PHP"}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict[-1], 'Python')
        self.assertEqual(dumped_dict[2], 'C++')
        self.assertEqual(dumped_dict[-99], 'PHP')
コード例 #15
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_signed_num(self):
        lua_table_str = '{positive_num = +100, negative_num = -100, positive_float_num = +100.55, negative_float_num = -100.0}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['positive_num'], 100)
        self.assertEqual(dumped_dict['negative_num'], -100)
        self.assertEqual(dumped_dict['positive_float_num'], 100.55)
        self.assertEqual(dumped_dict['negative_float_num'], -100.0)
コード例 #16
0
def main():
    while True:
        try:
            text = raw_input('lua>')
        except EOFError:
            break
        if not text:
            continue
        a1 = PyLuaTblParser()
        a1.load(text)
        print(a1.dump())
コード例 #17
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_list_with_extra_blank_and_semicolon_fieldsep(self):
        lua_table_str = '{80, 90;    100}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertTrue(type(dumped_dict) == list)
        self.assertEqual(dumped_dict[0], 80)
        self.assertEqual(dumped_dict[1], 90)
        self.assertEqual(dumped_dict[2], 100)
コード例 #18
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_list_end_with_comma(self):
        lua_table_str = '{80, 90, 100,}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertTrue(type(dumped_dict) == list)
        self.assertEqual(dumped_dict[0], 80)
        self.assertEqual(dumped_dict[1], 90)
        self.assertEqual(dumped_dict[2], 100)
コード例 #19
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_sstr_key_with_extra_blanks(self):
        lua_table_str = '{   _na_m4ef5    = 1,   move_name   = 2, myname50     =  3   ,   _temp =    4,   a23b9 = 5}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertEqual(dumped_dict['_na_m4ef5'], 1)
        self.assertEqual(dumped_dict['move_name'], 2)
        self.assertEqual(dumped_dict['myname50'], 3)
        self.assertEqual(dumped_dict['_temp'], 4)
        self.assertEqual(dumped_dict['a23b9'], 5)
コード例 #20
0
def testPyLuaTblParser():
    import PyLuaTblParser as P
    # test load and dump
    a = P.PyLuaTblParser()
    b = P.PyLuaTblParser()
    test_str = '{array = {65,23,5,},dict = {mixed = {43,54.33,false,9,string = "value",},array = {3,6,4,},string = "value",},}'
    a.load(test_str)
    test_str1 = a.dump()
    b.load(test_str1)
    test_str2 = b.dump()
    assert (a.data == b.data)
    assert (test_str1 == test_str2)
    test_str = '{x=-0xffp-2, y=45;--[===[adsfasdf]==]asdfasfd]===]"a", "one", "two", "three",[2]=3}'
    a.load(test_str)
    assert (a.data != b.data)
    test_str1 = a.dump()
    b.load(test_str1)
    test_str2 = b.dump()
    assert (a.data == b.data)
    assert (test_str1 == test_str2)
    # test loadLuaTable and dumpLuaTable
    a.loadLuaTable("test.txt")
    a.dumpLuaTable("test2.txt")
    b.loadLuaTable("test2.txt")
    assert (a.data == b.data)
    # test loadDict and dumpDict
    d = {1: 'a', 2: 'one', 3: 'two', 4: 'three', 'y': 45, 'x': -63.75}
    a.loadDict(d)
    assert (a.data == d)
    di = a.dumpDict()
    assert (d == di)
    d = {
        'array': [65, 23, 5],
        'dict': {
            'mixed': {
                1: 43,
                2: 54.33,
                3: False,
                4: 9,
                'string': 'value'
            },
            'array': [3, 6, 4],
            'string': 'value'
        }
    }
    assert (d != di)
    assert (d != a.data)
    a.loadDict(d)
    assert (a.data == d)
    assert (a.data != di)
    di = a.dumpDict()
    assert (a.data == di)
コード例 #21
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_sstr_key_with_other_characters_in_the_key_and_throw_exception1(
            self):
        lua_table_str = '{n*ame = 1}'

        lua_table_parser = PyLuaTblParser()
        self.assertRaises(InvalidLuaTableError, lua_table_parser.load,
                          lua_table_str)
コード例 #22
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_nil_dict_and_remove_the_nil_item(self):
        lua_table_str = '{scores = {80, Math = 89.5, 72.5, nil, English = 99, 86.55, computer = nil}}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()

        scores = dumped_dict['scores']
        self.assertTrue(type(scores) == dict)
        self.assertEqual(scores[1], 80)
        self.assertEqual(scores['Math'], 89.5)
        self.assertEqual(scores[2], 72.5)
        self.assertEqual(scores['English'], 99)
        self.assertEqual(scores[3], 86.55)
        self.assertFalse('computer' in scores.keys())
コード例 #23
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_complicated_list(self):
        lua_table_str = '{80, 89.5, false, 72.5, "math", nil, nil, 99, true, 86.55, nil, "error", {}}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()
        self.assertTrue(type(dumped_dict) == list)
        self.assertEqual(dumped_dict[0], 80)
        self.assertEqual(dumped_dict[1], 89.5)
        self.assertEqual(dumped_dict[2], False)
        self.assertEqual(dumped_dict[3], 72.5)
        self.assertEqual(dumped_dict[4], "math")
        self.assertEqual(dumped_dict[5], None)
        self.assertEqual(dumped_dict[6], None)
        self.assertEqual(dumped_dict[7], 99)
        self.assertEqual(dumped_dict[8], True)
        self.assertEqual(dumped_dict[9], 86.55)
        self.assertEqual(dumped_dict[10], None)
        self.assertEqual(dumped_dict[11], "error")
        self.assertTrue(type(dumped_dict[12]) == list)  # {} to []?
        self.assertTrue(len(dumped_dict[12]) == 0)
コード例 #24
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_nested_list(self):
        lua_table_str = '{name = "Python", nested = {80, 89.5, false, 72.5, 99, true, 86.55}, weight = 60.55, height = 170., location = "sichuan"}'

        lua_table_parser = PyLuaTblParser()
        lua_table_parser.load(lua_table_str)

        dumped_dict = lua_table_parser.dumpDict()

        nested = dumped_dict['nested']
        print nested
        self.assertTrue(type(nested) == list)
        self.assertEqual(nested[0], 80)
        self.assertEqual(nested[1], 89.5)
        self.assertEqual(nested[2], False)
        self.assertEqual(nested[3], 72.5)
        self.assertEqual(nested[4], 99)
        self.assertEqual(nested[5], True)
        self.assertEqual(nested[6], 86.55)

        self.assertEqual(dumped_dict['name'], 'Python')
        self.assertEqual(dumped_dict['weight'], 60.55)
        self.assertEqual(dumped_dict['height'], 170.0)
        self.assertEqual(dumped_dict['location'], 'sichuan')
コード例 #25
0
ファイル: Test.py プロジェクト: fripSide/TensorFlow
def test4():
    print '.................... Test4'
    f = open('test4.txt', 'r')
    lines = f.readlines()
    p = PyLuaTblParser()
    count = 1
    for line in lines:
        print '----------- line ' + str(count) + ' :'
        count += 1
        if len(line) > 0 and line[0] == '#' or line.isspace():
            print '... omitted'
            continue
        p.load(line)
        print p.dump()
    f.close()
コード例 #26
0
ファイル: test.py プロジェクト: Pterosaur/PyLuaTblParser
from PyLuaTblParser import *

parser = PyLuaTblParser()
# parser.loadDict(
# {'root': {
#     96: [[], 1, 2, None],
#     1: 'Test Pattern String',
#     2: {'object with 1 member': ['array with 1 element']},
#     99: -42,
#     4: True,
#     5: False,
#     6: None,
#     97: [[], []],
#     8: 0.5,
#     9: 3.141592653589793e+64,
#     10: 3.141592653589793,
#     7: {
#         'comment': '// /* <!-- --',
#         'false': False,
#         'backslash': '\\\\',
#         'one': 1,
#         'quotes': '" (0x0022) %22 0x22 034 "',
#         'zero': 0,
#         'alpha': 'abcdefghijklmnopqrstuvwyz',
#         'array': [None, None],
#         'special': "`1~!@#$%^&*()_+-={':[,]}|;.</>?",
#         'compact': [
#             1,
#             2,
#             3,
コード例 #27
0
ファイル: Test.py プロジェクト: xlz0729/PyLuaTblParser
                other = {
                    1,
                    2,
                    3,
                    [45] = 11    --[[fdsaf--]],
                    [''] = '',
                    ''
                }
            }
        }
    ,,,}'''

    test_str = '''{\r\nroot = {\r\n\t"Test Pattern String",\r\n\t-- {"object with 1 member" = {"array with 1 element",},},\r\n\t{["object with 1 member"] = {"array with 1 element",},},\r\n\t{},\r\n\t[99] = -42,\r\n\t[98] = {{}},\r\n\t[97] = {{},{}},\r\n\t[96] = {{}, 1, 2, nil},\r\n\t[95] = {1, 2, {["1"] = 1}},\r\n\t[94] = { {["1"]=1, ["2"]=2}, {1, ["2"]=2}, ["3"] = 3 },\r\n\ttrue,\r\n\tfalse,\r\n\tnil,\r\n\t{\r\n\t\t["integer"]= 1234567890,\r\n\t\treal=-9876.543210,\r\n\t\te= 0.123456789e-12,\r\n\t\tE= 1.234567890E+34,\r\n\t\tzero = 0,\r\n\t\tone = 1,\r\n\t\tspace = " ",\r\n\t\tquote = "\\"",\r\n\t\tbackslash = "\\\\",\r\n\t\tcontrols = "\\b\\f\\n\\r\\t",\r\n\t\tslash = "/ & \\\\",\r\n\t\talpha= "abcdefghijklmnopqrstuvwyz",\r\n\t\tALPHA = "ABCDEFGHIJKLMNOPQRSTUVWYZ",\r\n\t\tdigit = "0123456789",\r\n\t\tspecial = "`1~!@#$%^&*()_+-={\':[,]}|;.</>?",\r\n\t\thex = "0x01230x45670x89AB0xCDEF0xabcd0xef4A",\r\n\t\t["true"] = true,\r\n\t\t["false"] = false,\r\n\t\t["nil"] = nil,\r\n\t\tarray = {nil, nil,},\r\n\t\tobject = {  },\r\n\t\taddress = "50 St. James Street",\r\n\t\turl = "http://www.JSON.org/",\r\n\t\tcomment = "// /* <!-- --",\r\n\t\t["# -- --> */"] = " ",\r\n\t\t[" s p a c e d " ] = {1,2 , 3\r\n\r\n\t\t\t,\r\n\r\n\t\t\t4 , 5        ,          6           ,7        },\r\n\t\t--[[[][][]  Test multi-line comments\r\n\t\t\tcompact = {1,2,3,4,5,6,7},\r\n\t- -[luatext = "{\\"object with 1 member\\" = {\\"array with 1 element\\"}}",\r\n\t\tquotes = "&#34; (0x0022) %22 0x22 034 &#x22;",\r\n\t\t["\\\\\\"\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?"]\r\n\t\t= "A key can be any string"]]\r\n\t--         ]]\r\n\t\tcompact = {1,2,3,4,5,6,7},\r\n\t\tluatext = "{\\"object with 1 member\\" = {\\"array with 1 element\\"}}",\r\n\t\tquotes = "&#34; (0x0022) %22 0x22 034 &#x22;",\r\n\t\t["\\\\\\"\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?"]\r\n\t\t= "A key can be any string"\r\n\t},\r\n\t0.5 ,31415926535897932384626433832795028841971693993751058209749445923.\r\n\t,\r\n\t3.1415926535897932384626433832795028841971693993751058209749445923\r\n\t,\r\n\r\n\t1066\r\n\r\n\r\n\t,"rosebud"\r\n\r\n}}
    '''

    a1 = PyLuaTblParser()
    a2 = PyLuaTblParser()
    a3 = PyLuaTblParser()

    a1.load(test_str)
    print a1.dump()
    d1 = a1.dumpDict()

    a2.loadDict(d1)
    a2.dumpLuaTable('output.txt')
    a3.loadLuaTable('output.txt')

    d3 = a3.dumpDict()

    print d1 == d3
    print '\n'
コード例 #28
0
ファイル: test.py プロジェクト: sienaiwun/luaParser
'''
The parser interprets Lua tables that have the following syntax form:https://www.lua.org/manual/5.1/manual.html
There is mainly one class in this project. PyLuaTblParser provides both the interface and the Lua table parser function. 
The load() method loads and parses a Lua table from a string, the dump() method dumps the string which represents the abstract syntax tree built during load() function.
The eat_text() method read the table code, and decode it into an abstract syntax tree called container as well as parse the abstract syntax tree into dump string recursively. An incident stack is used to dump a dict into a readable form.
This parser support hex digit representation.
Basic usage is:
'''
from PyLuaTblParser import *
a1 = PyLuaTblParser()
a2 = PyLuaTblParser()
a3 = PyLuaTblParser()

test_str = '{array = {0x6A,23,5,},dict = {mixed = {43,54.33,false,9,string = "value",},array = {3,6,4,},string = "value",},}'
a1.load(test_str)
d1 = a1.dumpDict()

a2.loadDict(d1)
file_path = "test.txt"
a2.dumpLuaTable(file_path)
a3.loadLuaTable(file_path)

d3 = a3.dumpDict()
コード例 #29
0
a1 = PyLuaTblParser()
a2 = PyLuaTblParser()
a3 = PyLuaTblParser()

test_str = '{array = {65,23,5,},dict = {mixed = {43,54.33,false,9,string = "value",},array = {3,6,4,},string = "value",},}'
#a1.load(test_str)
#d1 = a1.dumpDict()

#a1.loadDict(d1)
#a2.dumpLuaTable("1.txt")
#a3.loadLuaTable("luaTable.txt")

#d3 = a3.dumpDict()

pyt = PyLuaTblParser()
test_str1 = r'{array = {65,23,5,},dict = {mixed = {43,54.33,false,9,string = "value",},array = {3,6,4,},string = "value",},}'
test_str2 = r"{1,nil,nil}"
test_str3 = r"{[1]=1, nil, nil}"
test_str4 = r"{nil, nil, [3]=3.14, nil, nil, key = 183}"
test_str5 = r"{a={a={'12\/3','1231'}}}"
test_str6 = r"{[1]=2}"
test_str7 = r"""
	{
		1,
		2,
		3,
		nil,
		nil,
	}
	"""
コード例 #30
0
ファイル: test.py プロジェクト: wangchi87/lua
    def test_parse_sstr_key_with_other_characters_in_the_key_and_throw_exception2(
            self):
        lua_table_str = '{$name = "Python"}'

        lua_table_parser = PyLuaTblParser()
        self.assertRaises(Exception, lua_table_parser.load, lua_table_str)
コード例 #31
0
ファイル: test.py プロジェクト: zjgjust/OtherPyLuaTblParser
  },
  0.5 ,31415926535897932384626433832795028841971693993751058209749445923.
  ,
  3.1415926535897932384626433832795028841971693993751058209749445923
  ,

  1066


  ,"rosebud"

}}


'''
parser = PyLuaTblParser()
#s1 = '{[97] = {{},{}},}'
parser.load(testStr)
print parser.dumpDict()
# print parser.dumpLuaTable("table_test.lua")
# # print PythonStrToStruct('''{
# #      "array": [65, 23, 5],
# #      "dict": {
# #           "mixed": {
# #                1: 43,
# #                2: 54.33,
# #                3: False,
# #                4: 9,
# #                "string": "value"
# #           },
# #           "null" : None,
コード例 #32
0
ファイル: test.py プロジェクト: LewisLee75267/PyLuaTblParser
from PyLuaTblParser import *

a1 = PyLuaTblParser()
a2 = PyLuaTblParser()
a3 = PyLuaTblParser()

test_str = '{array = {65,23,5,},dict = {mixed = {43,54.33,false,9,string = "value",},array = {3,6,4,},string = "value",},}'
#a1.load(test_str)
#d1 = a1.dumpDict()

#a1.loadDict(d1)
#a2.dumpLuaTable("1.txt")
#a3.loadLuaTable("luaTable.txt")

#d3 = a3.dumpDict()

pyt = PyLuaTblParser()
test_str1 = r'{array = {65,23,5,},dict = {mixed = {43,54.33,false,9,string = "value",},array = {3,6,4,},string = "value",},}'
test_str2 = r"{1,nil,nil}"
test_str3 = r"{[1]=1, nil, nil}"
test_str4 = r"{nil, nil, [3]=3.14, nil, nil, key = 183}"
test_str5 = r"{a={a={'12\/3','1231'}}}"
test_str6 = r"{[1]=2}"
test_str7 = r"""
	{
		1,
		2,
		3,
		nil,
		nil,
	}