X Tutup
from java2python.lang.selector import * astTransforms = [ (Type('NULL'), transform.null2None), (Type('FALSE'), transform.false2False), (Type('TRUE'), transform.true2True), #(Type('IDENT'), transform.keywordSafeIdent), (Type('IDENT'),camel_to_snake), (Type('FLOATING_POINT_LITERAL'), transform.syntaxSafeFloatLiteral), (Type('TYPE') > Type('BOOLEAN'), transform.typeSub), (Type('TYPE') > Type('BYTE'), transform.typeSub), (Type('TYPE') > Type('CHAR'), transform.typeSub), (Type('TYPE') > Type('FLOAT'), transform.typeSub), (Type('TYPE') > Type('INT'), transform.typeSub), (Type('TYPE') > Type('SHORT'), transform.typeSub), (Type('TYPE') > Type('LONG'), transform.typeSub), (Type('TYPE') > Type('DOUBLE'), transform.typeSub), (Type('METHOD_CALL') > Type('DOT') > Type('IDENT', 'length'), transform.lengthToLen), (Type('METHOD_CALL') > Type('DOT') > ( Type('IDENT', 'String') + Type('IDENT', 'format') ), transform.formatString), (Type('TYPE') > Type('QUALIFIED_TYPE_IDENT') > Type('IDENT'), transform.typeSub), (Type('FUNCTIION_METHOD_DECL') > Type('IDENT'),camel_to_snake), (Type('VOID_METHOD_DECL') > Type('IDENT'),camel_to_snake) ] def camel_to_snake(node,config): rawstring = re.findall('[a-z]+|[A-Z][a-z]*',node.token.text) snake_string = "" index = 0 for word in rawstring: if index == 0: snake_string += word index = index + 1 else: snake_string += "_" + word node.token.text = snake_string
X Tutup