本文整理汇总了Python中jasy.js.parse.Node.Node.value方法的典型用法代码示例。如果您正苦于以下问题:Python Node.value方法的具体用法?Python Node.value怎么用?Python Node.value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jasy.js.parse.Node.Node
的用法示例。
在下文中一共展示了Node.value方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PRIMARY_build
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def PRIMARY_build(self, tokenizer, tokenType):
# NB: tokenizer.token.type must be "null", "this", "true", "false", "identifier", "number", "string", or "regexp".
node = Node(tokenizer, tokenType)
if tokenType in ("identifier", "string", "regexp", "number"):
node.value = tokenizer.token.value
return node
示例2: __createSimpleAssignment
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def __createSimpleAssignment(identifier, valueNode):
assignNode = Node(None, "assign")
identNode = Node(None, "identifier")
identNode.value = identifier
assignNode.append(identNode)
assignNode.append(valueNode)
return assignNode
示例3: __rebuildAsSplitted
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def __rebuildAsSplitted(self, value, mapper):
""" The real splitter engine. Creates plus Node instances and cascade them automatically """
result = []
splits = self.__replacer.split(value)
if len(splits) == 1:
return None
pair = Node(None, "plus")
for entry in splits:
if entry == "":
continue
if len(pair) == 2:
newPair = Node(None, "plus")
newPair.append(pair)
pair = newPair
if self.__replacer.match(entry):
pos = int(entry[1]) - 1
# Items might be added multiple times. Copy to protect original.
try:
repl = mapper[pos]
except KeyError:
raise TranslationError("Invalid positional value: %s in %s" % (entry, value))
copied = copy.deepcopy(mapper[pos])
if copied.type not in ("identifier", "call"):
copied.parenthesized = True
pair.append(copied)
else:
child = Node(None, "string")
child.value = entry
pair.append(child)
return pair
示例4: __createIdentifier
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def __createIdentifier(value):
identifier = Node(None, "identifier")
identifier.value = value
return identifier
示例5: __recurser
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def __recurser(self, node):
# Process children
for child in list(node):
if child != None:
self.__recurser(child)
if node.type == "call":
funcName = None
if node[0].type == "identifier":
funcName = node[0].value
elif node[0].type == "dot" and node[0][1].type == "identifier":
funcName = node[0][1].value
if funcName in ("tr", "trc", "trn", "marktr"):
params = node[1]
table = self.__table
# Remove marktr() calls
if funcName == "marktr":
node.parent.remove(node)
# Verify param types
elif params[0].type is not "string":
# maybe something marktr() relevant being used, in this case we need to keep the call and inline the data
pass
# Error handling
elif (funcName == "trn" or funcName == "trc") and params[1].type != "string":
warn("Expecting translation string to be type string: %s at line %s" % (params[1].type, params[1].line))
# Signature tr(msg, arg1, arg2, ...)
elif funcName == "tr":
key = params[0].value
if key in table:
params[0].value = table[key]
if len(params) == 1:
node.parent.replace(node, params[0])
else:
self.__splitTemplate(node, params[0], params[1:])
# Signature trc(hint, msg, arg1, arg2, ...)
elif funcName == "trc":
key = params[0].value
if key in table:
params[1].value = table[key]
if len(params) == 2:
node.parent.replace(node, params[1])
else:
self.__splitTemplate(node, params[1], params[2:])
# Signature trn(msg, msg2, [...], int, arg1, arg2, ...)
elif funcName == "trn":
keySingular = params[0].value
if keySingular in table:
params[0].value = table[keySingular]
keyPlural = params[1].value
if keyPlural in table:
params[1].value = table[keyPlural]
# TODO: Multi plural support
# Patch strings with dynamic values
if len(params) >= 3:
self.__splitTemplate(params[0], params[0], params[3:])
self.__splitTemplate(params[1], params[1], params[3:])
# Replace the whole call with: int < 2 ? singularMessage : pluralMessage
hook = Node(None, "hook")
hook.parenthesized = True
condition = Node(None, "le")
condition.append(params[2])
number = Node(None, "number")
number.value = 1
condition.append(number)
hook.append(condition, "condition")
hook.append(params[1], "elsePart")
hook.append(params[0], "thenPart")
node.parent.replace(node, hook)
示例6: MEMBER_build
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def MEMBER_build(self, tokenizer, tokenType=None):
node = Node(tokenizer, tokenType)
if node.type == "identifier":
node.value = tokenizer.token.value
return node
示例7: FUNCTION_wrapParam
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def FUNCTION_wrapParam(self, tokenizer):
param = Node(tokenizer)
param.value = tokenizer.token.value
return param
示例8: CATCH_wrapException
# 需要导入模块: from jasy.js.parse.Node import Node [as 别名]
# 或者: from jasy.js.parse.Node.Node import value [as 别名]
def CATCH_wrapException(self, tokenizer):
node = Node(tokenizer, "exception")
node.value = tokenizer.token.value
return node