信号流语言语法
signalflow-grammar的Python项目详细描述
signalflow语言语法
==
此存储库包含signalfx signalflow语言语法以及生成公共代码构件所需的
结构和工具,这些构件使
此语法在各种语言中可用。
此语言采用antlr4格式,我们使用“antlr”工具为目标语言生成相应的源代码。从那里,我们可以构建
工件,这些工件可以作为依赖项包含在需要
分析信号流程序的各种项目中。
**注意:**如果您希望使用语法,您应该使用其中一个
生成的工件,而不是此存储库。
可用语言
----
~~~~
the``com.signalfx.public:signalflow grammar``工件jar可在
maven central:
代码::xml
<;dependency>;
<;groupid>;com.signalfx.public<;/groupid>;
<;artifactid>;signalflow语法<;/artifactid>;
<;version>;2.12.0<;/version>;
<;/dependency>;
javascript
~作为一个独立的浏览器化javascript包。代码:
npm install-g signalflow grammar.js
代码::html
<;script type=“text/javascript”src=“https://s3.amazonaws.com/public sites--signalfx com/cdn/signalflow-grammar-2.7.0.js”>;
~~~~~
pypi上提供了库,它取决于python2 antlr运行时:
代码:
$pip install signalflow grammar==2.7.0
代码::python
import antlr4
from signalflow.grammar.signalflowv2lexer import signalflowv2lexer
from signalflow.grammar.signalflowv2parser import signalflowv2parser
def parse(程序):
lexer=signalflowv2lexer(程序)
stream=antlr4.commontokenstream(lexer)
parser=signalflowv2parser(stream)
…
生成或更新工件
由于signalflow类似于python的特性,需要一些本机代码来跟踪缩进/删除级别。本机代码
存储在<;language>;/语法/*.g4中。这些本机代码文件由generate_grammar.py脚本缝合到signalflowlexer.g4中。
使用“generate.sh”脚本更新生成的源代码:
。代码:
$./generate.sh<;version>;
$git commit-a-m“bump to version<;version>;”
$git push origin master
>然后对每种语言执行相应包的发布。
java
~~~~
代码:
$cd java/
$mvn clean deploy-p release sign artifacts-dperformrelease=true-drepositoryid=ossrh-dgpg.useagent=false
~代码:
$cd javascript/
$npm publish
$aws s3 cp signalflow grammar-<;version>;.js s3://public sites--signalfx com/cdn/
~代码:
$cd python/
$python setup.py bdist廑wheel
$tween upload dist/signalflow廑grammar-<;version>;-py2 none any.whl
==
此存储库包含signalfx signalflow语言语法以及生成公共代码构件所需的
结构和工具,这些构件使
此语法在各种语言中可用。
此语言采用antlr4格式,我们使用“antlr”工具为目标语言生成相应的源代码。从那里,我们可以构建
工件,这些工件可以作为依赖项包含在需要
分析信号流程序的各种项目中。
**注意:**如果您希望使用语法,您应该使用其中一个
生成的工件,而不是此存储库。
可用语言
----
the``com.signalfx.public:signalflow grammar``工件jar可在
maven central:
代码::xml
<;dependency>;
<;groupid>;com.signalfx.public<;/groupid>;
<;artifactid>;signalflow语法<;/artifactid>;
<;version>;2.12.0<;/version>;
<;/dependency>;
javascript
~作为一个独立的浏览器化javascript包。代码:
npm install-g signalflow grammar.js
代码::html
<;script type=“text/javascript”src=“https://s3.amazonaws.com/public sites--signalfx com/cdn/signalflow-grammar-2.7.0.js”>;
pypi上提供了库,它取决于python2 antlr运行时:
代码:
$pip install signalflow grammar==2.7.0
代码::python
import antlr4
from signalflow.grammar.signalflowv2lexer import signalflowv2lexer
from signalflow.grammar.signalflowv2parser import signalflowv2parser
def parse(程序):
lexer=signalflowv2lexer(程序)
stream=antlr4.commontokenstream(lexer)
parser=signalflowv2parser(stream)
…
生成或更新工件
由于signalflow类似于python的特性,需要一些本机代码来跟踪缩进/删除级别。本机代码
存储在<;language>;/语法/*.g4中。这些本机代码文件由generate_grammar.py脚本缝合到signalflowlexer.g4中。
使用“generate.sh”脚本更新生成的源代码:
。代码:
$./generate.sh<;version>;
$git commit-a-m“bump to version<;version>;”
$git push origin master
>然后对每种语言执行相应包的发布。
java
~~~~
代码:
$cd java/
$mvn clean deploy-p release sign artifacts-dperformrelease=true-drepositoryid=ossrh-dgpg.useagent=false
$cd javascript/
$npm publish
$aws s3 cp signalflow grammar-<;version>;.js s3://public sites--signalfx com/cdn/
$cd python/
$python setup.py bdist廑wheel
$tween upload dist/signalflow廑grammar-<;version>;-py2 none any.whl