-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsource.sh
executable file
·90 lines (82 loc) · 3.63 KB
/
source.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# enable ANTLR support
# example
if [ -f /usr/local/lib/antlr-4.13.1-complete.jar ] && [ -f /usr/local/lib/antlrworks-1.5.2-complete.jar ]; then
export CLASSPATH=".:/usr/local/lib/antlr-4.13.1-complete.jar:/usr/local/lib/antlrworks-1.5.2-complete.jar:$CLASSPATH"
alias antlr4='java -jar /usr/local/lib/antlr-4.13.1-complete.jar'
alias antlrworks='java -jar /usr/local/lib/antlrworks-1.5.2-complete.jar'
alias grun='java org.antlr.v4.gui.TestRig'
#export GRUN_CMD='java -cp ../:$CLASSPATH org.antlr.v4.gui.TestRig'
export GRUN_CMD='java -cp .:../:/usr/local/lib/antlr-4.13.1-complete.jar:/usr/local/lib/antlrworks-1.5.2-complete.jar: org.antlr.v4.gui.TestRig'
#Shows diagnostic output from lexer and parser if any
#>diagrun exampleDsl example-dsl/exampleLSPServer prog example-dsl/input/test_Expr.expr
diagrun() {
pushd . > /dev/null
grammarName="${1}" # e.g. exampleDsl
srcDir="${2}" # e.g. example-dsl/exampleLSPServer
pkgName="${grammarName}"
startRuleName="${3}" # e.g. prog
testDataFile=`readlink -f $4` # e.g. example-dsl/input/test.odsl
cd "${srcDir}/gen/java/${grammarName}"/ && ${GRUN_CMD} "${pkgName}"."${grammarName}" "${startRuleName}" -diagnostics < "${testDataFile}"
popd > /dev/null
}
#Shows GUI parse tree browser
#>guirun exampleDsl example-dsl/exampleLSPServer prog example-dsl/input/test_Expr.expr
guirun() {
pushd . > /dev/null
grammarName="${1}"
srcDir="${2}"
pkgName="${grammarName}"
startRuleName="${3}"
testDataFile=`readlink -f $4`
cd "${srcDir}/gen/java/${grammarName}"/ && ${GRUN_CMD} "${pkgName}"."${grammarName}" "${startRuleName}" -gui < "${testDataFile}"
popd > /dev/null
}
#Generates a PS of the parsetree
#>psrun exampleDsl example-dsl/exampleLSPServer prog example-dsl/input/test_Expr.expr
psrun() {
pushd . > /dev/null
grammarName="${1}"
srcDir="${2}"
pkgName="${grammarName}"
startRuleName="${3}"
testDataFile=`readlink -f $4`
cd "${srcDir}/gen/java/${grammarName}"/ && ${GRUN_CMD} "${pkgName}"."${grammarName}" "${startRuleName}" -ps "${testDataFile}".ps < "${testDataFile}"
popd > /dev/null
}
#Shows tokens detected by lexer
#>tokenrun exampleDsl example-dsl/exampleLSPServer prog example-dsl/input/test_Expr.expr
tokenrun() {
pushd . > /dev/null
grammarName="${1}"
srcDir="${2}"
pkgName="${grammarName}"
startRuleName="${3}"
testDataFile=`readlink -f $4`
cd "${srcDir}/gen/java/${grammarName}"/ && ${GRUN_CMD} "${pkgName}"."${grammarName}" "${startRuleName}" -tokens < "${testDataFile}"
popd > /dev/null
}
#Prints text tree output of parse tree
#>treerun exampleDsl example-dsl/exampleLSPServer prog example-dsl/input/test_Expr.expr
treerun() {
pushd . > /dev/null
grammarName="${1}"
srcDir="${2}"
pkgName="${grammarName}"
startRuleName="${3}"
testDataFile=`readlink -f $4`
cd "${srcDir}/gen/java/${grammarName}"/ && ${GRUN_CMD} "${pkgName}"."${grammarName}" "${startRuleName}" -tree < "${testDataFile}"
popd > /dev/null
}
#Shows trace information when parsing input file
#>tracerun exampleDsl example-dsl/exampleLSPServer prog example-dsl/input/test_Expr.expr
tracerun() {
pushd . > /dev/null
grammarName="${1}"
srcDir="${2}"
pkgName="${grammarName}"
startRuleName="${3}"
testDataFile=`readlink -f $4`
cd "${srcDir}/gen/java/${grammarName}"/ && ${GRUN_CMD} "${pkgName}"."${grammarName}" "${startRuleName}" -trace < "${testDataFile}"
popd > /dev/null
}
fi