Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
[db] Added scs grammar
  • Loading branch information
deniskoronchik committed Oct 24, 2021
commit 2392927ecf319b7f1b4c8cf7ead973df633f471e
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -127,4 +127,8 @@ dmypy.json
.pyre/

.DS_Store
config.ini

*.ini

.antlr
antlr*.jar
4 changes: 4 additions & 0 deletions db/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Regenerate ANTLR parser

1. [Download](https://www.antlr.org/download.html) antlr generator.
2. Run generation script `./scripts/generate_antlr.sh antlr-4.9.2-complete.jar`
1 change: 1 addition & 0 deletions db/scripts/generate_antlr.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
java -jar $1 -Dlanguage=Python3 -o scs/parser -no-listener -no-visitor -Xexact-output-dir scs/scs.g4
159 changes: 159 additions & 0 deletions db/scs/parser/scs.interp
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
token literal names:
null
';;'
'sc_node'
'sc_link'
'sc_arc_common'
'sc_edge'
'sc_arc_main'
'sc_arc_access'
'#'
'('
')'
'{'
';'
'}'
'(*'
'*)'
'|'
'<>'
'>'
'<'
'..>'
'<..'
'->'
'<-'
'<=>'
'=>'
'<='
'-|>'
'<|-'
'-/>'
'</-'
'~>'
'<~'
'~|>'
'<|~'
'~/>'
'</~'
'_<>'
'_>'
'_<'
'_..>'
'_<..'
'_->'
'_<-'
'_<=>'
'_=>'
'_<='
'_-|>'
'_<|-'
'_-/>'
'_</-'
'_~>'
'_<~'
'_~|>'
'_<|~'
'_~/>'
'_</~'
'_'
'['
']'
'"'
'\\"'
null
null
null
null

token symbolic names:
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ID_SYSTEM
EDGE_ATTR
COMMENT
WS

rule names:
syntax
sentence
idtf_lvl1_preffix
idtf_lvl1
idtf_system
idtf_edge
idtf_set
idtf_common
idtf_list
internal_sentence
internal_sentence_list
sentence_lvl1
sentence_lvl_4_list
sentence_lvl_common
attr_list
connector
content
link


atn:
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 67, 183, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 3, 2, 3, 2, 3, 2, 7, 2, 42, 10, 2, 12, 2, 14, 2, 45, 11, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 51, 10, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 5, 5, 58, 10, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 68, 10, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 5, 8, 75, 10, 8, 3, 8, 3, 8, 3, 8, 5, 8, 80, 10, 8, 3, 8, 7, 8, 83, 10, 8, 12, 8, 14, 8, 86, 11, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 95, 10, 9, 3, 10, 3, 10, 5, 10, 99, 10, 10, 3, 10, 3, 10, 3, 10, 5, 10, 104, 10, 10, 7, 10, 106, 10, 10, 12, 10, 14, 10, 109, 11, 10, 3, 11, 3, 11, 5, 11, 113, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 6, 12, 121, 10, 12, 13, 12, 14, 12, 122, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 5, 14, 135, 10, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 7, 15, 143, 10, 15, 12, 15, 14, 15, 146, 11, 15, 3, 16, 3, 16, 6, 16, 150, 10, 16, 13, 16, 14, 16, 151, 3, 17, 3, 17, 3, 18, 5, 18, 157, 10, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 5, 18, 166, 10, 18, 7, 18, 168, 10, 18, 12, 18, 14, 18, 171, 11, 18, 3, 19, 3, 19, 3, 19, 7, 19, 176, 10, 19, 12, 19, 14, 19, 179, 11, 19, 3, 19, 3, 19, 3, 19, 2, 2, 20, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 2, 6, 3, 2, 4, 9, 3, 2, 19, 58, 3, 2, 60, 61, 3, 2, 62, 62, 2, 189, 2, 43, 3, 2, 2, 2, 4, 50, 3, 2, 2, 2, 6, 52, 3, 2, 2, 2, 8, 57, 3, 2, 2, 2, 10, 61, 3, 2, 2, 2, 12, 63, 3, 2, 2, 2, 14, 72, 3, 2, 2, 2, 16, 94, 3, 2, 2, 2, 18, 96, 3, 2, 2, 2, 20, 110, 3, 2, 2, 2, 22, 116, 3, 2, 2, 2, 24, 126, 3, 2, 2, 2, 26, 132, 3, 2, 2, 2, 28, 138, 3, 2, 2, 2, 30, 149, 3, 2, 2, 2, 32, 153, 3, 2, 2, 2, 34, 156, 3, 2, 2, 2, 36, 172, 3, 2, 2, 2, 38, 39, 5, 4, 3, 2, 39, 40, 7, 3, 2, 2, 40, 42, 3, 2, 2, 2, 41, 38, 3, 2, 2, 2, 42, 45, 3, 2, 2, 2, 43, 41, 3, 2, 2, 2, 43, 44, 3, 2, 2, 2, 44, 46, 3, 2, 2, 2, 45, 43, 3, 2, 2, 2, 46, 47, 7, 2, 2, 3, 47, 3, 3, 2, 2, 2, 48, 51, 5, 24, 13, 2, 49, 51, 5, 28, 15, 2, 50, 48, 3, 2, 2, 2, 50, 49, 3, 2, 2, 2, 51, 5, 3, 2, 2, 2, 52, 53, 9, 2, 2, 2, 53, 7, 3, 2, 2, 2, 54, 55, 5, 6, 4, 2, 55, 56, 7, 10, 2, 2, 56, 58, 3, 2, 2, 2, 57, 54, 3, 2, 2, 2, 57, 58, 3, 2, 2, 2, 58, 59, 3, 2, 2, 2, 59, 60, 7, 64, 2, 2, 60, 9, 3, 2, 2, 2, 61, 62, 7, 64, 2, 2, 62, 11, 3, 2, 2, 2, 63, 64, 7, 11, 2, 2, 64, 65, 5, 10, 6, 2, 65, 67, 5, 32, 17, 2, 66, 68, 5, 30, 16, 2, 67, 66, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 69, 3, 2, 2, 2, 69, 70, 5, 10, 6, 2, 70, 71, 7, 12, 2, 2, 71, 13, 3, 2, 2, 2, 72, 74, 7, 13, 2, 2, 73, 75, 5, 30, 16, 2, 74, 73, 3, 2, 2, 2, 74, 75, 3, 2, 2, 2, 75, 76, 3, 2, 2, 2, 76, 84, 5, 16, 9, 2, 77, 79, 7, 14, 2, 2, 78, 80, 5, 30, 16, 2, 79, 78, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 81, 3, 2, 2, 2, 81, 83, 5, 16, 9, 2, 82, 77, 3, 2, 2, 2, 83, 86, 3, 2, 2, 2, 84, 82, 3, 2, 2, 2, 84, 85, 3, 2, 2, 2, 85, 87, 3, 2, 2, 2, 86, 84, 3, 2, 2, 2, 87, 88, 7, 15, 2, 2, 88, 15, 3, 2, 2, 2, 89, 95, 5, 10, 6, 2, 90, 95, 5, 12, 7, 2, 91, 95, 5, 14, 8, 2, 92, 95, 5, 34, 18, 2, 93, 95, 5, 36, 19, 2, 94, 89, 3, 2, 2, 2, 94, 90, 3, 2, 2, 2, 94, 91, 3, 2, 2, 2, 94, 92, 3, 2, 2, 2, 94, 93, 3, 2, 2, 2, 95, 17, 3, 2, 2, 2, 96, 98, 5, 16, 9, 2, 97, 99, 5, 22, 12, 2, 98, 97, 3, 2, 2, 2, 98, 99, 3, 2, 2, 2, 99, 107, 3, 2, 2, 2, 100, 101, 7, 14, 2, 2, 101, 103, 5, 16, 9, 2, 102, 104, 5, 22, 12, 2, 103, 102, 3, 2, 2, 2, 103, 104, 3, 2, 2, 2, 104, 106, 3, 2, 2, 2, 105, 100, 3, 2, 2, 2, 106, 109, 3, 2, 2, 2, 107, 105, 3, 2, 2, 2, 107, 108, 3, 2, 2, 2, 108, 19, 3, 2, 2, 2, 109, 107, 3, 2, 2, 2, 110, 112, 5, 32, 17, 2, 111, 113, 5, 30, 16, 2, 112, 111, 3, 2, 2, 2, 112, 113, 3, 2, 2, 2, 113, 114, 3, 2, 2, 2, 114, 115, 5, 18, 10, 2, 115, 21, 3, 2, 2, 2, 116, 120, 7, 16, 2, 2, 117, 118, 5, 20, 11, 2, 118, 119, 7, 3, 2, 2, 119, 121, 3, 2, 2, 2, 120, 117, 3, 2, 2, 2, 121, 122, 3, 2, 2, 2, 122, 120, 3, 2, 2, 2, 122, 123, 3, 2, 2, 2, 123, 124, 3, 2, 2, 2, 124, 125, 7, 17, 2, 2, 125, 23, 3, 2, 2, 2, 126, 127, 5, 8, 5, 2, 127, 128, 7, 18, 2, 2, 128, 129, 5, 8, 5, 2, 129, 130, 7, 18, 2, 2, 130, 131, 5, 8, 5, 2, 131, 25, 3, 2, 2, 2, 132, 134, 5, 32, 17, 2, 133, 135, 5, 30, 16, 2, 134, 133, 3, 2, 2, 2, 134, 135, 3, 2, 2, 2, 135, 136, 3, 2, 2, 2, 136, 137, 5, 18, 10, 2, 137, 27, 3, 2, 2, 2, 138, 139, 5, 16, 9, 2, 139, 144, 5, 26, 14, 2, 140, 141, 7, 14, 2, 2, 141, 143, 5, 26, 14, 2, 142, 140, 3, 2, 2, 2, 143, 146, 3, 2, 2, 2, 144, 142, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 29, 3, 2, 2, 2, 146, 144, 3, 2, 2, 2, 147, 148, 7, 64, 2, 2, 148, 150, 7, 65, 2, 2, 149, 147, 3, 2, 2, 2, 150, 151, 3, 2, 2, 2, 151, 149, 3, 2, 2, 2, 151, 152, 3, 2, 2, 2, 152, 31, 3, 2, 2, 2, 153, 154, 9, 3, 2, 2, 154, 33, 3, 2, 2, 2, 155, 157, 7, 59, 2, 2, 156, 155, 3, 2, 2, 2, 156, 157, 3, 2, 2, 2, 157, 158, 3, 2, 2, 2, 158, 169, 7, 60, 2, 2, 159, 165, 6, 18, 2, 2, 160, 166, 10, 4, 2, 2, 161, 162, 7, 60, 2, 2, 162, 166, 8, 18, 1, 2, 163, 164, 7, 61, 2, 2, 164, 166, 8, 18, 1, 2, 165, 160, 3, 2, 2, 2, 165, 161, 3, 2, 2, 2, 165, 163, 3, 2, 2, 2, 166, 168, 3, 2, 2, 2, 167, 159, 3, 2, 2, 2, 168, 171, 3, 2, 2, 2, 169, 167, 3, 2, 2, 2, 169, 170, 3, 2, 2, 2, 170, 35, 3, 2, 2, 2, 171, 169, 3, 2, 2, 2, 172, 177, 7, 62, 2, 2, 173, 176, 10, 5, 2, 2, 174, 176, 7, 63, 2, 2, 175, 173, 3, 2, 2, 2, 175, 174, 3, 2, 2, 2, 176, 179, 3, 2, 2, 2, 177, 175, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 180, 3, 2, 2, 2, 179, 177, 3, 2, 2, 2, 180, 181, 7, 62, 2, 2, 181, 37, 3, 2, 2, 2, 23, 43, 50, 57, 67, 74, 79, 84, 94, 98, 103, 107, 112, 122, 134, 144, 151, 156, 165, 169, 175, 177]
126 changes: 126 additions & 0 deletions db/scs/parser/scs.tokens
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
T__0=1
T__1=2
T__2=3
T__3=4
T__4=5
T__5=6
T__6=7
T__7=8
T__8=9
T__9=10
T__10=11
T__11=12
T__12=13
T__13=14
T__14=15
T__15=16
T__16=17
T__17=18
T__18=19
T__19=20
T__20=21
T__21=22
T__22=23
T__23=24
T__24=25
T__25=26
T__26=27
T__27=28
T__28=29
T__29=30
T__30=31
T__31=32
T__32=33
T__33=34
T__34=35
T__35=36
T__36=37
T__37=38
T__38=39
T__39=40
T__40=41
T__41=42
T__42=43
T__43=44
T__44=45
T__45=46
T__46=47
T__47=48
T__48=49
T__49=50
T__50=51
T__51=52
T__52=53
T__53=54
T__54=55
T__55=56
T__56=57
T__57=58
T__58=59
T__59=60
T__60=61
ID_SYSTEM=62
EDGE_ATTR=63
COMMENT=64
WS=65
';;'=1
'sc_node'=2
'sc_link'=3
'sc_arc_common'=4
'sc_edge'=5
'sc_arc_main'=6
'sc_arc_access'=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
Loading