Skip to content

Commit

Permalink
interpreter
Browse files Browse the repository at this point in the history
  • Loading branch information
jankrk committed Dec 19, 2023
1 parent 269a03d commit 19d0224
Show file tree
Hide file tree
Showing 43 changed files with 4,686 additions and 57 deletions.
86 changes: 86 additions & 0 deletions antlr/.antlr/GPMini.interp
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
token literal names:
null
'while'
'('
')'
'if'
'{'
'}'
'break'
';'
'input'
'output'
'='
'and'
'or'
'^'
'=='
'!='
'<'
'<='
'>'
'>='
'+'
'-'
'*'
'//'
'not'
'true'
'false'
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
TRUE
FALSE
INT
ID
WS

rule names:
program
statement
statementBlock
loopStatement
conditionalStatement
block
breakStatement
inputStatement
outputStatement
variable
variableStatement
expression
value
numericValue
logicValue


atn:
[4, 1, 30, 125, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 1, 0, 5, 0, 32, 8, 0, 10, 0, 12, 0, 35, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 43, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 50, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 66, 8, 5, 10, 5, 12, 5, 69, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 99, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 110, 8, 11, 10, 11, 12, 11, 113, 9, 11, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 119, 8, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 0, 1, 22, 15, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 0, 4, 1, 0, 12, 14, 1, 0, 15, 20, 1, 0, 21, 24, 1, 0, 26, 27, 127, 0, 33, 1, 0, 0, 0, 2, 42, 1, 0, 0, 0, 4, 49, 1, 0, 0, 0, 6, 51, 1, 0, 0, 0, 8, 57, 1, 0, 0, 0, 10, 63, 1, 0, 0, 0, 12, 72, 1, 0, 0, 0, 14, 75, 1, 0, 0, 0, 16, 77, 1, 0, 0, 0, 18, 81, 1, 0, 0, 0, 20, 83, 1, 0, 0, 0, 22, 98, 1, 0, 0, 0, 24, 118, 1, 0, 0, 0, 26, 120, 1, 0, 0, 0, 28, 122, 1, 0, 0, 0, 30, 32, 3, 2, 1, 0, 31, 30, 1, 0, 0, 0, 32, 35, 1, 0, 0, 0, 33, 31, 1, 0, 0, 0, 33, 34, 1, 0, 0, 0, 34, 36, 1, 0, 0, 0, 35, 33, 1, 0, 0, 0, 36, 37, 5, 0, 0, 1, 37, 1, 1, 0, 0, 0, 38, 43, 3, 6, 3, 0, 39, 43, 3, 8, 4, 0, 40, 43, 3, 16, 8, 0, 41, 43, 3, 20, 10, 0, 42, 38, 1, 0, 0, 0, 42, 39, 1, 0, 0, 0, 42, 40, 1, 0, 0, 0, 42, 41, 1, 0, 0, 0, 43, 3, 1, 0, 0, 0, 44, 50, 3, 6, 3, 0, 45, 50, 3, 8, 4, 0, 46, 50, 3, 16, 8, 0, 47, 50, 3, 20, 10, 0, 48, 50, 3, 12, 6, 0, 49, 44, 1, 0, 0, 0, 49, 45, 1, 0, 0, 0, 49, 46, 1, 0, 0, 0, 49, 47, 1, 0, 0, 0, 49, 48, 1, 0, 0, 0, 50, 5, 1, 0, 0, 0, 51, 52, 5, 1, 0, 0, 52, 53, 5, 2, 0, 0, 53, 54, 3, 22, 11, 0, 54, 55, 5, 3, 0, 0, 55, 56, 3, 10, 5, 0, 56, 7, 1, 0, 0, 0, 57, 58, 5, 4, 0, 0, 58, 59, 5, 2, 0, 0, 59, 60, 3, 22, 11, 0, 60, 61, 5, 3, 0, 0, 61, 62, 3, 10, 5, 0, 62, 9, 1, 0, 0, 0, 63, 67, 5, 5, 0, 0, 64, 66, 3, 4, 2, 0, 65, 64, 1, 0, 0, 0, 66, 69, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 70, 1, 0, 0, 0, 69, 67, 1, 0, 0, 0, 70, 71, 5, 6, 0, 0, 71, 11, 1, 0, 0, 0, 72, 73, 5, 7, 0, 0, 73, 74, 5, 8, 0, 0, 74, 13, 1, 0, 0, 0, 75, 76, 5, 9, 0, 0, 76, 15, 1, 0, 0, 0, 77, 78, 5, 10, 0, 0, 78, 79, 3, 22, 11, 0, 79, 80, 5, 8, 0, 0, 80, 17, 1, 0, 0, 0, 81, 82, 5, 29, 0, 0, 82, 19, 1, 0, 0, 0, 83, 84, 3, 18, 9, 0, 84, 85, 5, 11, 0, 0, 85, 86, 3, 22, 11, 0, 86, 87, 5, 8, 0, 0, 87, 21, 1, 0, 0, 0, 88, 89, 6, 11, -1, 0, 89, 90, 5, 2, 0, 0, 90, 91, 3, 22, 11, 0, 91, 92, 5, 3, 0, 0, 92, 99, 1, 0, 0, 0, 93, 94, 5, 25, 0, 0, 94, 99, 3, 22, 11, 3, 95, 96, 5, 25, 0, 0, 96, 99, 3, 24, 12, 0, 97, 99, 3, 24, 12, 0, 98, 88, 1, 0, 0, 0, 98, 93, 1, 0, 0, 0, 98, 95, 1, 0, 0, 0, 98, 97, 1, 0, 0, 0, 99, 111, 1, 0, 0, 0, 100, 101, 10, 7, 0, 0, 101, 102, 7, 0, 0, 0, 102, 110, 3, 22, 11, 8, 103, 104, 10, 6, 0, 0, 104, 105, 7, 1, 0, 0, 105, 110, 3, 22, 11, 7, 106, 107, 10, 5, 0, 0, 107, 108, 7, 2, 0, 0, 108, 110, 3, 22, 11, 6, 109, 100, 1, 0, 0, 0, 109, 103, 1, 0, 0, 0, 109, 106, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 23, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 119, 3, 18, 9, 0, 115, 119, 3, 26, 13, 0, 116, 119, 3, 28, 14, 0, 117, 119, 3, 14, 7, 0, 118, 114, 1, 0, 0, 0, 118, 115, 1, 0, 0, 0, 118, 116, 1, 0, 0, 0, 118, 117, 1, 0, 0, 0, 119, 25, 1, 0, 0, 0, 120, 121, 5, 28, 0, 0, 121, 27, 1, 0, 0, 0, 122, 123, 7, 3, 0, 0, 123, 29, 1, 0, 0, 0, 8, 33, 42, 49, 67, 98, 109, 111, 118]
57 changes: 57 additions & 0 deletions antlr/.antlr/GPMini.tokens
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
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
TRUE=26
FALSE=27
INT=28
ID=29
WS=30
'while'=1
'('=2
')'=3
'if'=4
'{'=5
'}'=6
'break'=7
';'=8
'input'=9
'output'=10
'='=11
'and'=12
'or'=13
'^'=14
'=='=15
'!='=16
'<'=17
'<='=18
'>'=19
'>='=20
'+'=21
'-'=22
'*'=23
'//'=24
'not'=25
'true'=26
'false'=27
Loading

0 comments on commit 19d0224

Please sign in to comment.