From d9ffc2f3f679bf6e87cf12dc1ed9809badf673da Mon Sep 17 00:00:00 2001 From: Erik Oosting Date: Tue, 12 Dec 2023 15:20:56 +0100 Subject: start working on actual visitor --- gen/ANFLexer.py | 115 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 66 insertions(+), 49 deletions(-) (limited to 'gen/ANFLexer.py') diff --git a/gen/ANFLexer.py b/gen/ANFLexer.py index baf7806..2e8b074 100644 --- a/gen/ANFLexer.py +++ b/gen/ANFLexer.py @@ -10,51 +10,63 @@ else: def serializedATN(): return [ - 4,0,24,135,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5, + 4,0,28,167,6,-1,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,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7, - 19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,1, - 0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1, - 4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,10,1,11,1, - 11,1,11,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1, - 15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1, - 20,1,21,1,21,1,21,5,21,115,8,21,10,21,12,21,118,9,21,1,22,4,22,121, - 8,22,11,22,12,22,122,1,23,1,23,1,24,1,24,1,25,4,25,130,8,25,11,25, - 12,25,131,1,25,1,25,0,0,26,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17, - 9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39, - 20,41,21,43,22,45,23,47,0,49,0,51,24,1,0,2,2,0,65,90,97,122,3,0, - 9,10,13,13,32,32,136,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0, - 0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0, - 0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0, - 0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0, - 0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,51,1,0, - 0,0,1,53,1,0,0,0,3,58,1,0,0,0,5,64,1,0,0,0,7,66,1,0,0,0,9,68,1,0, - 0,0,11,70,1,0,0,0,13,72,1,0,0,0,15,74,1,0,0,0,17,76,1,0,0,0,19,78, - 1,0,0,0,21,80,1,0,0,0,23,83,1,0,0,0,25,86,1,0,0,0,27,89,1,0,0,0, - 29,92,1,0,0,0,31,95,1,0,0,0,33,98,1,0,0,0,35,100,1,0,0,0,37,102, - 1,0,0,0,39,106,1,0,0,0,41,108,1,0,0,0,43,111,1,0,0,0,45,120,1,0, - 0,0,47,124,1,0,0,0,49,126,1,0,0,0,51,129,1,0,0,0,53,54,5,116,0,0, - 54,55,5,114,0,0,55,56,5,117,0,0,56,57,5,101,0,0,57,2,1,0,0,0,58, - 59,5,102,0,0,59,60,5,97,0,0,60,61,5,108,0,0,61,62,5,115,0,0,62,63, - 5,101,0,0,63,4,1,0,0,0,64,65,5,40,0,0,65,6,1,0,0,0,66,67,5,43,0, - 0,67,8,1,0,0,0,68,69,5,41,0,0,69,10,1,0,0,0,70,71,5,45,0,0,71,12, - 1,0,0,0,72,73,5,42,0,0,73,14,1,0,0,0,74,75,5,47,0,0,75,16,1,0,0, - 0,76,77,5,62,0,0,77,18,1,0,0,0,78,79,5,60,0,0,79,20,1,0,0,0,80,81, - 5,61,0,0,81,82,5,61,0,0,82,22,1,0,0,0,83,84,5,60,0,0,84,85,5,60, - 0,0,85,24,1,0,0,0,86,87,5,62,0,0,87,88,5,62,0,0,88,26,1,0,0,0,89, - 90,5,38,0,0,90,91,5,38,0,0,91,28,1,0,0,0,92,93,5,124,0,0,93,94,5, - 124,0,0,94,30,1,0,0,0,95,96,5,94,0,0,96,97,5,94,0,0,97,32,1,0,0, - 0,98,99,5,58,0,0,99,34,1,0,0,0,100,101,5,44,0,0,101,36,1,0,0,0,102, - 103,5,108,0,0,103,104,5,101,0,0,104,105,5,116,0,0,105,38,1,0,0,0, - 106,107,5,61,0,0,107,40,1,0,0,0,108,109,5,105,0,0,109,110,5,110, - 0,0,110,42,1,0,0,0,111,116,3,47,23,0,112,115,3,47,23,0,113,115,3, - 49,24,0,114,112,1,0,0,0,114,113,1,0,0,0,115,118,1,0,0,0,116,114, - 1,0,0,0,116,117,1,0,0,0,117,44,1,0,0,0,118,116,1,0,0,0,119,121,3, - 49,24,0,120,119,1,0,0,0,121,122,1,0,0,0,122,120,1,0,0,0,122,123, - 1,0,0,0,123,46,1,0,0,0,124,125,7,0,0,0,125,48,1,0,0,0,126,127,2, - 48,57,0,127,50,1,0,0,0,128,130,7,1,0,0,129,128,1,0,0,0,130,131,1, - 0,0,0,131,129,1,0,0,0,131,132,1,0,0,0,132,133,1,0,0,0,133,134,6, - 25,0,0,134,52,1,0,0,0,5,0,114,116,122,131,1,6,0,0 + 19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2, + 26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,1,0,1,0,1,0,1,0,1,0,1,1,1, + 1,1,1,1,1,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1, + 7,1,8,1,8,1,9,1,9,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1, + 13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,15,1,16,1,16,1,17,1,17,1, + 18,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1, + 22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,5,24,136, + 8,24,10,24,12,24,139,9,24,1,25,4,25,142,8,25,11,25,12,25,143,1,26, + 1,26,1,26,1,26,5,26,150,8,26,10,26,12,26,153,9,26,1,26,1,26,1,27, + 1,27,1,28,1,28,1,29,4,29,162,8,29,11,29,12,29,163,1,29,1,29,0,0, + 30,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25, + 13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47, + 24,49,25,51,26,53,27,55,0,57,0,59,28,1,0,3,2,0,34,34,94,94,2,0,65, + 90,97,122,3,0,9,10,13,13,32,32,170,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1, + 0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0, + 0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0, + 0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0, + 0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0, + 0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,59,1,0, + 0,0,1,61,1,0,0,0,3,66,1,0,0,0,5,72,1,0,0,0,7,74,1,0,0,0,9,76,1,0, + 0,0,11,78,1,0,0,0,13,80,1,0,0,0,15,82,1,0,0,0,17,84,1,0,0,0,19,86, + 1,0,0,0,21,88,1,0,0,0,23,91,1,0,0,0,25,94,1,0,0,0,27,97,1,0,0,0, + 29,100,1,0,0,0,31,103,1,0,0,0,33,106,1,0,0,0,35,108,1,0,0,0,37,110, + 1,0,0,0,39,114,1,0,0,0,41,116,1,0,0,0,43,119,1,0,0,0,45,122,1,0, + 0,0,47,127,1,0,0,0,49,132,1,0,0,0,51,141,1,0,0,0,53,145,1,0,0,0, + 55,156,1,0,0,0,57,158,1,0,0,0,59,161,1,0,0,0,61,62,5,116,0,0,62, + 63,5,114,0,0,63,64,5,117,0,0,64,65,5,101,0,0,65,2,1,0,0,0,66,67, + 5,102,0,0,67,68,5,97,0,0,68,69,5,108,0,0,69,70,5,115,0,0,70,71,5, + 101,0,0,71,4,1,0,0,0,72,73,5,40,0,0,73,6,1,0,0,0,74,75,5,43,0,0, + 75,8,1,0,0,0,76,77,5,41,0,0,77,10,1,0,0,0,78,79,5,45,0,0,79,12,1, + 0,0,0,80,81,5,42,0,0,81,14,1,0,0,0,82,83,5,47,0,0,83,16,1,0,0,0, + 84,85,5,62,0,0,85,18,1,0,0,0,86,87,5,60,0,0,87,20,1,0,0,0,88,89, + 5,61,0,0,89,90,5,61,0,0,90,22,1,0,0,0,91,92,5,60,0,0,92,93,5,60, + 0,0,93,24,1,0,0,0,94,95,5,62,0,0,95,96,5,62,0,0,96,26,1,0,0,0,97, + 98,5,38,0,0,98,99,5,38,0,0,99,28,1,0,0,0,100,101,5,124,0,0,101,102, + 5,124,0,0,102,30,1,0,0,0,103,104,5,94,0,0,104,105,5,94,0,0,105,32, + 1,0,0,0,106,107,5,44,0,0,107,34,1,0,0,0,108,109,5,58,0,0,109,36, + 1,0,0,0,110,111,5,108,0,0,111,112,5,101,0,0,112,113,5,116,0,0,113, + 38,1,0,0,0,114,115,5,61,0,0,115,40,1,0,0,0,116,117,5,105,0,0,117, + 118,5,110,0,0,118,42,1,0,0,0,119,120,5,105,0,0,120,121,5,102,0,0, + 121,44,1,0,0,0,122,123,5,116,0,0,123,124,5,104,0,0,124,125,5,101, + 0,0,125,126,5,110,0,0,126,46,1,0,0,0,127,128,5,101,0,0,128,129,5, + 108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,48,1,0,0,0,132,137, + 3,55,27,0,133,136,3,55,27,0,134,136,3,57,28,0,135,133,1,0,0,0,135, + 134,1,0,0,0,136,139,1,0,0,0,137,135,1,0,0,0,137,138,1,0,0,0,138, + 50,1,0,0,0,139,137,1,0,0,0,140,142,3,57,28,0,141,140,1,0,0,0,142, + 143,1,0,0,0,143,141,1,0,0,0,143,144,1,0,0,0,144,52,1,0,0,0,145,151, + 5,34,0,0,146,150,7,0,0,0,147,148,5,92,0,0,148,150,9,0,0,0,149,146, + 1,0,0,0,149,147,1,0,0,0,150,153,1,0,0,0,151,149,1,0,0,0,151,152, + 1,0,0,0,152,154,1,0,0,0,153,151,1,0,0,0,154,155,5,34,0,0,155,54, + 1,0,0,0,156,157,7,1,0,0,157,56,1,0,0,0,158,159,2,48,57,0,159,58, + 1,0,0,0,160,162,7,2,0,0,161,160,1,0,0,0,162,163,1,0,0,0,163,161, + 1,0,0,0,163,164,1,0,0,0,164,165,1,0,0,0,165,166,6,29,0,0,166,60, + 1,0,0,0,7,0,135,137,143,149,151,163,1,6,0,0 ] class ANFLexer(Lexer): @@ -84,9 +96,13 @@ class ANFLexer(Lexer): T__18 = 19 T__19 = 20 T__20 = 21 - IDENT = 22 - NUMBER = 23 - WS = 24 + T__21 = 22 + T__22 = 23 + T__23 = 24 + IDENT = 25 + NUMBER = 26 + STRING = 27 + WS = 28 channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ] @@ -95,15 +111,16 @@ class ANFLexer(Lexer): literalNames = [ "", "'true'", "'false'", "'('", "'+'", "')'", "'-'", "'*'", "'/'", "'>'", "'<'", "'=='", "'<<'", "'>>'", "'&&'", "'||'", "'^^'", - "':'", "','", "'let'", "'='", "'in'" ] + "','", "':'", "'let'", "'='", "'in'", "'if'", "'then'", "'else'" ] symbolicNames = [ "", - "IDENT", "NUMBER", "WS" ] + "IDENT", "NUMBER", "STRING", "WS" ] ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", "T__17", "T__18", "T__19", - "T__20", "IDENT", "NUMBER", "Letter", "Digit", "WS" ] + "T__20", "T__21", "T__22", "T__23", "IDENT", "NUMBER", + "STRING", "Letter", "Digit", "WS" ] grammarFileName = "ANF.g4" -- cgit 1.4.1-2-gfad0