def t_string_quotex(t): r'"(?:[^\\"\n]|\\.)*"' t.type = 'string' t.value = fml(t.lexer.module, t.value) return t
def t_string_tickx(t): r"'(?:[^\\'\n]|\\.)*'" t.type = 'string' t.value = fml(t.lexer.module, t.value) return t
def t_multiline_string_quotex(t): r'''""".*?"""''' t.type = 'string' t.value = fml(t.lexer.module, t.value, 1) return t
def t_multiline_string_tickx(t): r"""'''.*?'''""" t.type = 'string' t.value = fml(t.lexer.module, t.value, 1) return t
from fython.test import * from fython.fml import * class module: def __getattr__(s, n): return 0 m = module() m.verbose = m x = ''' {f:float} {i:int} {v:vector} {vc:list_vector_inside} {a:string} ''' x = trim(x) fa = fml(m, x) print(fa) f, a = fa.split(' = ') assert_equal(f, 'format("(","f,","a,","a,","i,","a,","a,","a,",trim(fytbk_int_to_char(size(vector))),"(g0,:,",achar(34),", ",achar(34),"),","a,","a,","a,",trim(fytbk_int_to_char(size(list_vector_inside))),"(g0,:,",achar(34),", ",achar(34),"),","a,","a",")")') assert_equal(a, "args(float,' ',char(10),int,' ',char(10),'[',vector,']',' ',char(10),list_vector_inside,char(10),string)")
from numpy.testing import * from fython.fml import * class module: def __getattr__(s, n): return 0 m = module() m.verbose = m x = '' fa = fml(m, x) print(repr(fa)) assert_equal(fa, '') x = 'abc{:x}def' f, a = fml(m, x).split(' = ') print(f, '', a) assert_equal(f, 'format("(","a,","g0,","a",")")') assert_equal(a, "args('abc',x,'def')") x = '{v:x}' f, a = fml(m, x).split(' = ') print(f, '', a) assert_equal(f, 'format("(","a,",trim(<fytbk_int_to_char>(size(x))),"(g0,:,",achar(34),", ",achar(34),"),","a",")")') assert_equal(a, "args('[',x,']')") x = '{vc:x[:,i]}' f, a = fml(m, x).split(' = ') print(f, '', a) assert_equal(f, 'format("(",trim(<fytbk_int_to_char>(size(x[:,i]))),"(g0,:,",achar(34),", ",achar(34),")",")")')