解析公共函数
package com.yst.core.parser
import scala.util.Try
import scala.util.parsing.combinator.{JavaTokenParsers, PackratParsers}
/**
* 抽象解析器
*/
abstract class FunParser(map:java.util.Map[String,Object]) extends JavaTokenParsers with PackratParsers {
/**
* 任意字符
*/
def jAny:Parser[Any] = stringLiteral
/**
* 任意java内容
*/
def jStr: Parser[Any] = ident|wholeNumber^^(s=>s)
/**
* 字符内容
*/
def jtxt:Parser[Any] = ("'"~>rep("-"|","|"%"|"|"|":"|jStr)<~"'")^^{
s=>s.mkString
}
/**
* 约定的参数格式
*/
def param:Parser[Any] = "${"~>jStr<~"}"^^(
s=>map.get(s)
)
/**
* 取param里面的key