From 5a9f771a07b5839dc9c6d0a8ccb3ef7a3688ad15 Mon Sep 17 00:00:00 2001 From: Quentin MELOTTE Date: Tue, 17 Mar 2026 13:29:21 +0100 Subject: [PATCH] First clean phase --- Demos/DemoOprecompMulThresold/Makefile.old | 30 - Demos/DemoOprecompMulThresold/Newton-c.c | 15 - Demos/DemoOprecompMulThresold/Newton.c | 297 ---- Demos/DemoOprecompMulThresold/Script.txt | 8 - Demos/Makefile | 13 + HybroGen/IsaDescription.interp | 58 - HybroGen/IsaDescription.tokens | 22 - HybroGen/IsaDescriptionLexer.interp | 59 - HybroGen/IsaDescriptionLexer.py | 89 -- HybroGen/IsaDescriptionLexer.tokens | 22 - HybroGen/IsaDescriptionListener.py | 181 --- HybroGen/IsaDescriptionParser.py | 1157 -------------- HybroGen/RegisterDescription.interp | 50 - HybroGen/RegisterDescription.tokens | 16 - HybroGen/RegisterDescriptionLexer.interp | 53 - HybroGen/RegisterDescriptionLexer.py | 89 -- HybroGen/RegisterDescriptionLexer.tokens | 16 - HybroGen/RegisterDescriptionListener.py | 145 -- HybroGen/RegisterDescriptionParser.py | 873 ----------- HybroLang/HybroLang.interp | 125 -- HybroLang/HybroLang.tokens | 84 -- HybroLang/HybroLangLexer.interp | 162 -- HybroLang/HybroLangLexer.py | 237 --- HybroLang/HybroLangLexer.tokens | 84 -- HybroLang/HybroLangParser.py | 1577 -------------------- HybroLang/HybroLangVisitor.py | 2 +- HybroLang/Makefile | 2 +- Makefile | 10 +- 28 files changed, 17 insertions(+), 5459 deletions(-) delete mode 100644 Demos/DemoOprecompMulThresold/Makefile.old delete mode 100644 Demos/DemoOprecompMulThresold/Newton-c.c delete mode 100644 Demos/DemoOprecompMulThresold/Newton.c delete mode 100644 Demos/DemoOprecompMulThresold/Script.txt create mode 100644 Demos/Makefile delete mode 100644 HybroGen/IsaDescription.interp delete mode 100644 HybroGen/IsaDescription.tokens delete mode 100644 HybroGen/IsaDescriptionLexer.interp delete mode 100644 HybroGen/IsaDescriptionLexer.py delete mode 100644 HybroGen/IsaDescriptionLexer.tokens delete mode 100644 HybroGen/IsaDescriptionListener.py delete mode 100644 HybroGen/IsaDescriptionParser.py delete mode 100644 HybroGen/RegisterDescription.interp delete mode 100644 HybroGen/RegisterDescription.tokens delete mode 100644 HybroGen/RegisterDescriptionLexer.interp delete mode 100644 HybroGen/RegisterDescriptionLexer.py delete mode 100644 HybroGen/RegisterDescriptionLexer.tokens delete mode 100644 HybroGen/RegisterDescriptionListener.py delete mode 100644 HybroGen/RegisterDescriptionParser.py delete mode 100644 HybroLang/HybroLang.interp delete mode 100644 HybroLang/HybroLang.tokens delete mode 100644 HybroLang/HybroLangLexer.interp delete mode 100644 HybroLang/HybroLangLexer.py delete mode 100644 HybroLang/HybroLangLexer.tokens delete mode 100644 HybroLang/HybroLangParser.py diff --git a/Demos/DemoOprecompMulThresold/Makefile.old b/Demos/DemoOprecompMulThresold/Makefile.old deleted file mode 100644 index 4968400..0000000 --- a/Demos/DemoOprecompMulThresold/Makefile.old +++ /dev/null @@ -1,30 +0,0 @@ -CFLAGS = -g -DH2_DEBUG -I../../HybroGen/include - -newton: - HybroLang.py -c -a power -i Newton.hl -g - powerpc64le-linux-gnu-gcc-8 Newton.c -o Newton.power ${CFLAGS} - -run-newton: - make run-demo DEMOCODE=Newton.power DEMOARGS="17 1e-3" - -debug-newton: clean newton - make debug-demo DEMOCODE=Newton.power DEMOARGS="17 1e-3" - -divide: - HybroLang.py -c -a power -i DivideThreshold.hl -g - powerpc64le-linux-gnu-gcc-8 DivideThreshold.c -o DivideThreshold.power ${CFLAGS} - -run-divide: - make run-demo DEMOCODE=DivideThreshold.power DEMOARGS="4 .2 1e-10" - - -debug-demo: - echo "/opt/hybrotools/powerpc64le/bin/powerpc64le-linux-gdb $DEMOCODE" - echo "> target remote :5555" - qemu-ppc64le -L /usr/powerpc64le-linux-gnu/ -g 5555 ${DEMOCODE} ${DEMOARGS} - -run-demo: - qemu-ppc64le -L /usr/powerpc64le-linux-gnu/ ${DEMOCODE} ${DEMOARGS} - -clean: - rm -f Newton.power Newton.c DivideThreshold.c DivideThreshold.power diff --git a/Demos/DemoOprecompMulThresold/Newton-c.c b/Demos/DemoOprecompMulThresold/Newton-c.c deleted file mode 100644 index 59c15eb..0000000 --- a/Demos/DemoOprecompMulThresold/Newton-c.c +++ /dev/null @@ -1,15 +0,0 @@ -#define FLT double -#define abs(x) ((x < 0) ? -(x) : (x)) -FLT convergence(int a, FLT precision) -{ - FLT un = 1; - FLT un1 = 1; - int iterationNumber = 0; - do { - un = un1; - un1 = (un + (a / un)) / 2; - printf("%3d double : %.10f\n", iterationNumber++, un1); - } while (abs(un1 - un) > precision); - return un1; -} - diff --git a/Demos/DemoOprecompMulThresold/Newton.c b/Demos/DemoOprecompMulThresold/Newton.c deleted file mode 100644 index 41b3a01..0000000 --- a/Demos/DemoOprecompMulThresold/Newton.c +++ /dev/null @@ -1,297 +0,0 @@ -/* Begin Header autogenerated part */ -#ifndef H2_COMMON -#define H2_COMMON - -#include -#include -#include -#include -#ifdef H2SYS -#include -#endif - -bool h2_codeGenerationOK; - -typedef struct -{ - int ValOrReg; // Boolean - char arith; - int vLen; - int wLen; - int regNro; - int valueImm; -} h2_sValue_t; - - -enum ARCH_LIST {X86, RISCV, POWER, K1,}; -enum RISCV_VARIANT {RV32I,}; -typedef enum { - REGISTER, - VALUE, -} VALORREG; - -typedef union { - float f; - unsigned long i; -} h2_float_int_u; - -#endif /*H2_COMMON*/ -#ifndef H2_RISCV -#define H2_RISCV - -#include - -typedef uint32_t h2_insn_t; -static h2_insn_t *h2_asm_pc; -static h2_insn_t *h2_save_asm_pc; - -static void h2_iflush(void *addr, void *last) -{ -#ifdef H2SYS - long pageSize= getpagesize(); - void *ptmp= (char *)((long)addr & ~(pageSize - 1)); - if (mprotect(ptmp, (last - addr), PROT_READ | PROT_WRITE | PROT_EXEC)) - { - perror("iflush: mprotect"); - exit(-1); - } -#endif -#ifdef ASM_DEBUG - printf("Flush data cache from %p to %p\n", addr, last); -#endif - if (!h2_codeGenerationOK) - { - fprintf (stderr, "(iflush) Failed code generation\n"); - exit(-5); - } -} - -static h2_insn_t *h2_malloc (size_t size) -{ - return malloc (size); -} - - -#endif /*H2_RISCV*/ - -#define riscv_G32(INSN){ *(h2_asm_pc++) = (INSN);} - -void RV32I_RET__I_32_1(void){ /* RET */ -#ifdef H2_DEBUG - printf("%p : RV32I_RET__I_32_1\n", h2_asm_pc); -#endif - riscv_G32(((0x8067 >> 0) & 0xffffffff)); \ -} - -void RV32F_FMV_S_RR_F_32_1(int r3, int r1){ /* MV */ -#ifdef H2_DEBUG - printf("%p : RV32F_FMV_S_RR_F_32_1\n", h2_asm_pc); -#endif - riscv_G32(((0x10 & 0x7f) << 25)|((r1 & 0x1f) << 20)|((r1 & 0x1f) << 15)|((0x0 & 0x7) << 12)|((r3 & 0x1f) << 7)|((0x53 & 0x7f) >> 0)); \ -} - -void RV32D_FMV_D_RR_F_64_1(int r3, int r1){ /* MV */ -#ifdef H2_DEBUG - printf("%p : RV32D_FMV_D_RR_F_64_1\n", h2_asm_pc); -#endif - riscv_G32(((0x11 & 0x7f) << 25)|((r1 & 0x1f) << 20)|((r1 & 0x1f) << 15)|((0x0 & 0x7) << 12)|((r3 & 0x1f) << 7)|((0x53 & 0x7f) >> 0)); \ -} - -void RV32F_FADD_S_RRR_F_32_1(int r3, int r1, int r2){ /* ADD */ -#ifdef H2_DEBUG - printf("%p : RV32F_FADD_S_RRR_F_32_1\n", h2_asm_pc); -#endif - riscv_G32(((0x0 & 0x7f) << 25)|((r2 & 0x1f) << 20)|((r1 & 0x1f) << 15)|((0x0 & 0x7) << 12)|((r3 & 0x1f) << 7)|((0x53 & 0x7f) >> 0)); \ -} - -void RV32D_FADD_D_RRR_F_64_1(int r3, int r1, int r2){ /* ADD */ -#ifdef H2_DEBUG - printf("%p : RV32D_FADD_D_RRR_F_64_1\n", h2_asm_pc); -#endif - riscv_G32(((0x1 & 0x7f) << 25)|((r2 & 0x1f) << 20)|((r1 & 0x1f) << 15)|((0x0 & 0x7) << 12)|((r3 & 0x1f) << 7)|((0x53 & 0x7f) >> 0)); \ -} - -void RV32F_FDIV_S_RRR_F_32_1(int r3, int r1, int r2){ /* DIV */ -#ifdef H2_DEBUG - printf("%p : RV32F_FDIV_S_RRR_F_32_1\n", h2_asm_pc); -#endif - riscv_G32(((0xc & 0x7f) << 25)|((r2 & 0x1f) << 20)|((r1 & 0x1f) << 15)|((0x0 & 0x7) << 12)|((r3 & 0x1f) << 7)|((0x53 & 0x7f) >> 0)); \ -} - -void RV32D_FDIV_D_RRR_F_64_1(int r3, int r1, int r2){ /* DIV */ -#ifdef H2_DEBUG - printf("%p : RV32D_FDIV_D_RRR_F_64_1\n", h2_asm_pc); -#endif - riscv_G32(((0xd & 0x7f) << 25)|((r2 & 0x1f) << 20)|((r1 & 0x1f) << 15)|((0x0 & 0x7) << 12)|((r3 & 0x1f) << 7)|((0x53 & 0x7f) >> 0)); \ -} -void riscv_genMV_2(h2_sValue_t P0, h2_sValue_t P1) -{ - - if ((P0.arith == 'f') && (P0.wLen <= 32) && (P0.vLen == 1) && P0.ValOrReg == REGISTER && P1.ValOrReg == REGISTER) - { - RV32F_FMV_S_RR_F_32_1(P0.regNro, P1.regNro); - } - - else if ((P0.arith == 'f') && (P0.wLen <= 64) && (P0.vLen == 1) && P0.ValOrReg == REGISTER && P1.ValOrReg == REGISTER) - { - RV32D_FMV_D_RR_F_64_1(P0.regNro, P1.regNro); - } - - else - { - printf("Warning, generation of MV is not possible with this arguments P0: %c, %i, %i, P0: %i , P1: %i \n", P0.arith, P0.wLen, P0.vLen, P0.ValOrReg ,P1.ValOrReg); - h2_codeGenerationOK = false; - } -} -void riscv_genADD_3(h2_sValue_t P0, h2_sValue_t P1, h2_sValue_t P2) -{ - - if ((P0.arith == 'f') && (P0.wLen <= 32) && (P0.vLen == 1) && P0.ValOrReg == REGISTER && P1.ValOrReg == REGISTER && P2.ValOrReg == REGISTER) - { - RV32F_FADD_S_RRR_F_32_1(P0.regNro, P1.regNro, P2.regNro); - } - - else if ((P0.arith == 'f') && (P0.wLen <= 64) && (P0.vLen == 1) && P0.ValOrReg == REGISTER && P1.ValOrReg == REGISTER && P2.ValOrReg == REGISTER) - { - RV32D_FADD_D_RRR_F_64_1(P0.regNro, P1.regNro, P2.regNro); - } - - else - { - printf("Warning, generation of ADD is not possible with this arguments P0: %c, %i, %i, P0: %i , P1: %i , P2: %i \n", P0.arith, P0.wLen, P0.vLen, P0.ValOrReg ,P1.ValOrReg ,P2.ValOrReg); - h2_codeGenerationOK = false; - } -} -void riscv_genDIV_3(h2_sValue_t P0, h2_sValue_t P1, h2_sValue_t P2) -{ - - if ((P0.arith == 'f') && (P0.wLen <= 32) && (P0.vLen == 1) && P0.ValOrReg == REGISTER && P1.ValOrReg == REGISTER && P2.ValOrReg == REGISTER) - { - RV32F_FDIV_S_RRR_F_32_1(P0.regNro, P1.regNro, P2.regNro); - } - - else if ((P0.arith == 'f') && (P0.wLen <= 64) && (P0.vLen == 1) && P0.ValOrReg == REGISTER && P1.ValOrReg == REGISTER && P2.ValOrReg == REGISTER) - { - RV32D_FDIV_D_RRR_F_64_1(P0.regNro, P1.regNro, P2.regNro); - } - - else - { - printf("Warning, generation of DIV is not possible with this arguments P0: %c, %i, %i, P0: %i , P1: %i , P2: %i \n", P0.arith, P0.wLen, P0.vLen, P0.ValOrReg ,P1.ValOrReg ,P2.ValOrReg); - h2_codeGenerationOK = false; - } -} -void riscv_genDIV_4(h2_sValue_t P0, h2_sValue_t P1, h2_sValue_t P2, h2_sValue_t P3) -{ - - printf("Warning, generation of DIV is not possible with this arguments P0: %c, %i, %i, P0: %i , P1: %i , P2: %i , P3: %i \n", P0.arith, P0.wLen, P0.vLen, P0.ValOrReg ,P1.ValOrReg ,P2.ValOrReg ,P3.ValOrReg); - h2_codeGenerationOK = false; - -} -void riscv_genRET_0() -{ - - RV32I_RET__I_32_1(); - -} - -/* End Header autogenerated part */ -/* -*- c -*- */ - -#include -#include - -typedef float (*piff)(float, float, float); -typedef double (*pidd)(double, double, double); -#define True 1 -#define False 0 -#define FLOAT 32 -#define DOUBLE 64 - - -/* Newton square root demonstration with variable precision */ -h2_insn_t * genIterate(h2_insn_t * ptr, int FloatWidth) -{ -/* Code Generation of 4 instructions */ -/* Symbol table :*/ - /*VarName = { ValOrLen, arith, vectorLen, wordLen, regNo, Value} */ - h2_sValue_t u = {REGISTER, 'f', 1, (FloatWidth), 10, 0}; - h2_sValue_t val = {REGISTER, 'f', 1, (FloatWidth), 11, 0}; - h2_sValue_t div = {REGISTER, 'f', 1, (FloatWidth), 12, 0}; - h2_sValue_t h2_outputVarName = {REGISTER, 'f', 1, (FloatWidth), 10, 0}; - h2_sValue_t r = {REGISTER, 'f', 1, (FloatWidth), 0, 0}; - h2_sValue_t tmp1 = {REGISTER, 'f', 1, (FloatWidth), 1, 0}; - h2_sValue_t tmp2 = {REGISTER, 'f', 1, (FloatWidth), 2, 0}; - h2_sValue_t h2_00000000 = {REGISTER, 'f', 1, (FloatWidth), 3, 0}; - - -/* Label table :*/ -#define riscv_genLABEL(LABEL_ID) labelAddresses[LABEL_ID] = h2_asm_pc; -h2_insn_t * labelAddresses []={ - }; - - - h2_asm_pc = (h2_insn_t *) ptr; - h2_codeGenerationOK = true; - riscv_genDIV_3(h2_00000000, val, u); - riscv_genMV_2(tmp1, h2_00000000); - riscv_genADD_3(h2_00000000, u, tmp1); - riscv_genMV_2(tmp2, h2_00000000); - riscv_genDIV_3(h2_00000000, tmp2, div); - riscv_genMV_2(h2_outputVarName, h2_00000000); - riscv_genRET_0(); - /* Call back code for loops */ - h2_save_asm_pc = h2_asm_pc; - h2_asm_pc = h2_save_asm_pc; - h2_iflush(ptr, h2_asm_pc); - /* r = (u + (#(value) / u)) / 2.0*/ - - return (h2_insn_t *) ptr; -} - -#define ABS(x) ((x < 0) ? -(x) : (x)) - -int main(int argc, char **argv) -{ - int a, isFloat, iterationNumber; - double af, precf, precd, value, next, diff; - piff fPtr1; - pidd fPtr2; - h2_insn_t * ptr; - char input; - if (argc < 3) - { - printf ("Newton \n"); - exit(-1); - } - iterationNumber = 0; - a = atoi (argv[1]); - af = atof (argv[1]); - precd = atof (argv[2]); - precf = precd * 1.e14; - ptr = h2_malloc (1024); - isFloat = True; - printf ("Compute square root of %f\n", af); - printf ("With precision of %e (float)\n", precf); - printf ("With precision of %e (double)\n", precd); - next = 1.0; - diff = af; - - fPtr1 = (piff) genIterate (ptr, FLOAT); - do - { - if ((diff < precf) && isFloat) - { /* Code re-generation with double for better precision */ - fPtr2 = (pidd) genIterate (ptr, DOUBLE); - isFloat = False; - } - value = next; - next = (isFloat)?fPtr1(value, af, 2.0):fPtr2(value, af, 2.0); - diff = ABS(next - value); - printf("%3d %s : %.20f, %e\n", - iterationNumber++, - isFloat?"float ":"double", - next, isFloat?precf:precd); - } while ( isFloat || (!isFloat && (diff > precd))); - return 0; -} diff --git a/Demos/DemoOprecompMulThresold/Script.txt b/Demos/DemoOprecompMulThresold/Script.txt deleted file mode 100644 index e618f68..0000000 --- a/Demos/DemoOprecompMulThresold/Script.txt +++ /dev/null @@ -1,8 +0,0 @@ - -Video steps to show / comment : -* Montrer la date -* Compilette source code -* Main / call to compilette -* Code generation process -* Generated code -* Run demonstrations diff --git a/Demos/Makefile b/Demos/Makefile new file mode 100644 index 0000000..77a17e5 --- /dev/null +++ b/Demos/Makefile @@ -0,0 +1,13 @@ +clean: + -(cd AudioFilter ; make clean) + -(cd C-SRAM_Applications; make clean) + -(cd CelciusFarenheitConversions; make clean) + -(cd DemoOprecompMulThresold; make clean) + -(cd ImagePixelSum; make clean) + -(cd IOTWorkerSpecialization; make clean) + -(cd Kahan3Sum; make clean) + -(cd Newton-SquareRoot-VariablePrecision; make clean) + -(cd ReversePolishNotation; make clean) + -(cd Stencil; make clean) + -(cd Stencil1D; make clean) + -(cd VectorMatrix; make clean) diff --git a/HybroGen/IsaDescription.interp b/HybroGen/IsaDescription.interp deleted file mode 100644 index c1157f7..0000000 --- a/HybroGen/IsaDescription.interp +++ /dev/null @@ -1,58 +0,0 @@ -token literal names: -null -'ARCH' -'|' -'[' -']' -'i' -'u' -'f' -null -null -null -null -null -':' -null - -token symbolic names: -null -null -null -null -null -null -null -null -WS -COMMENT -INT -NAME -NEWLINE -SEMICOL -CINLINE - -rule names: -isadescription -headerlines -archline -isalines -commentline -isaline -emptyline -bindescr -binelem -binvalue -regbin -expbin -asmdescr -extname -arith -opname -regName -semname -reglist - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 16, 133, 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, 4, 20, 9, 20, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 6, 3, 47, 10, 3, 13, 3, 14, 3, 48, 3, 4, 3, 4, 3, 4, 6, 4, 54, 10, 4, 13, 4, 14, 4, 55, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 7, 5, 63, 10, 5, 12, 5, 14, 5, 66, 11, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 6, 9, 78, 10, 9, 13, 9, 14, 9, 79, 3, 10, 3, 10, 3, 10, 5, 10, 85, 10, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 94, 10, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 5, 13, 103, 10, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 5, 14, 114, 10, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 7, 20, 128, 10, 20, 12, 20, 14, 20, 131, 11, 20, 3, 20, 2, 2, 21, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 2, 3, 3, 2, 7, 9, 2, 127, 2, 40, 3, 2, 2, 2, 4, 46, 3, 2, 2, 2, 6, 50, 3, 2, 2, 2, 8, 64, 3, 2, 2, 2, 10, 67, 3, 2, 2, 2, 12, 69, 3, 2, 2, 2, 14, 74, 3, 2, 2, 2, 16, 77, 3, 2, 2, 2, 18, 84, 3, 2, 2, 2, 20, 86, 3, 2, 2, 2, 22, 88, 3, 2, 2, 2, 24, 97, 3, 2, 2, 2, 26, 106, 3, 2, 2, 2, 28, 115, 3, 2, 2, 2, 30, 117, 3, 2, 2, 2, 32, 119, 3, 2, 2, 2, 34, 121, 3, 2, 2, 2, 36, 123, 3, 2, 2, 2, 38, 125, 3, 2, 2, 2, 40, 41, 5, 4, 3, 2, 41, 42, 5, 8, 5, 2, 42, 3, 3, 2, 2, 2, 43, 47, 5, 10, 6, 2, 44, 47, 5, 6, 4, 2, 45, 47, 5, 14, 8, 2, 46, 43, 3, 2, 2, 2, 46, 44, 3, 2, 2, 2, 46, 45, 3, 2, 2, 2, 47, 48, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 5, 3, 2, 2, 2, 50, 51, 7, 3, 2, 2, 51, 53, 7, 13, 2, 2, 52, 54, 7, 12, 2, 2, 53, 52, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 53, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 57, 3, 2, 2, 2, 57, 58, 7, 14, 2, 2, 58, 7, 3, 2, 2, 2, 59, 63, 5, 10, 6, 2, 60, 63, 5, 14, 8, 2, 61, 63, 5, 12, 7, 2, 62, 59, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 62, 61, 3, 2, 2, 2, 63, 66, 3, 2, 2, 2, 64, 62, 3, 2, 2, 2, 64, 65, 3, 2, 2, 2, 65, 9, 3, 2, 2, 2, 66, 64, 3, 2, 2, 2, 67, 68, 7, 11, 2, 2, 68, 11, 3, 2, 2, 2, 69, 70, 5, 16, 9, 2, 70, 71, 7, 4, 2, 2, 71, 72, 5, 26, 14, 2, 72, 73, 7, 14, 2, 2, 73, 13, 3, 2, 2, 2, 74, 75, 7, 14, 2, 2, 75, 15, 3, 2, 2, 2, 76, 78, 5, 18, 10, 2, 77, 76, 3, 2, 2, 2, 78, 79, 3, 2, 2, 2, 79, 77, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 17, 3, 2, 2, 2, 81, 85, 5, 20, 11, 2, 82, 85, 5, 22, 12, 2, 83, 85, 5, 24, 13, 2, 84, 81, 3, 2, 2, 2, 84, 82, 3, 2, 2, 2, 84, 83, 3, 2, 2, 2, 85, 19, 3, 2, 2, 2, 86, 87, 7, 12, 2, 2, 87, 21, 3, 2, 2, 2, 88, 89, 7, 13, 2, 2, 89, 90, 7, 5, 2, 2, 90, 93, 7, 12, 2, 2, 91, 92, 7, 15, 2, 2, 92, 94, 7, 12, 2, 2, 93, 91, 3, 2, 2, 2, 93, 94, 3, 2, 2, 2, 94, 95, 3, 2, 2, 2, 95, 96, 7, 6, 2, 2, 96, 23, 3, 2, 2, 2, 97, 98, 7, 16, 2, 2, 98, 99, 7, 5, 2, 2, 99, 102, 7, 12, 2, 2, 100, 101, 7, 15, 2, 2, 101, 103, 7, 12, 2, 2, 102, 100, 3, 2, 2, 2, 102, 103, 3, 2, 2, 2, 103, 104, 3, 2, 2, 2, 104, 105, 7, 6, 2, 2, 105, 25, 3, 2, 2, 2, 106, 107, 5, 28, 15, 2, 107, 108, 5, 30, 16, 2, 108, 109, 7, 12, 2, 2, 109, 110, 7, 12, 2, 2, 110, 111, 5, 36, 19, 2, 111, 113, 5, 32, 17, 2, 112, 114, 5, 38, 20, 2, 113, 112, 3, 2, 2, 2, 113, 114, 3, 2, 2, 2, 114, 27, 3, 2, 2, 2, 115, 116, 7, 13, 2, 2, 116, 29, 3, 2, 2, 2, 117, 118, 9, 2, 2, 2, 118, 31, 3, 2, 2, 2, 119, 120, 7, 13, 2, 2, 120, 33, 3, 2, 2, 2, 121, 122, 7, 13, 2, 2, 122, 35, 3, 2, 2, 2, 123, 124, 7, 13, 2, 2, 124, 37, 3, 2, 2, 2, 125, 129, 5, 34, 18, 2, 126, 128, 5, 34, 18, 2, 127, 126, 3, 2, 2, 2, 128, 131, 3, 2, 2, 2, 129, 127, 3, 2, 2, 2, 129, 130, 3, 2, 2, 2, 130, 39, 3, 2, 2, 2, 131, 129, 3, 2, 2, 2, 13, 46, 48, 55, 62, 64, 79, 84, 93, 102, 113, 129] \ No newline at end of file diff --git a/HybroGen/IsaDescription.tokens b/HybroGen/IsaDescription.tokens deleted file mode 100644 index 2dcd920..0000000 --- a/HybroGen/IsaDescription.tokens +++ /dev/null @@ -1,22 +0,0 @@ -T__0=1 -T__1=2 -T__2=3 -T__3=4 -T__4=5 -T__5=6 -T__6=7 -WS=8 -COMMENT=9 -INT=10 -NAME=11 -NEWLINE=12 -SEMICOL=13 -CINLINE=14 -'ARCH'=1 -'|'=2 -'['=3 -']'=4 -'i'=5 -'u'=6 -'f'=7 -':'=13 diff --git a/HybroGen/IsaDescriptionLexer.interp b/HybroGen/IsaDescriptionLexer.interp deleted file mode 100644 index 23a6756..0000000 --- a/HybroGen/IsaDescriptionLexer.interp +++ /dev/null @@ -1,59 +0,0 @@ -token literal names: -null -'ARCH' -'|' -'[' -']' -'i' -'u' -'f' -null -null -null -null -null -':' -null - -token symbolic names: -null -null -null -null -null -null -null -null -WS -COMMENT -INT -NAME -NEWLINE -SEMICOL -CINLINE - -rule names: -T__0 -T__1 -T__2 -T__3 -T__4 -T__5 -T__6 -WS -COMMENT -INT -NAME -NEWLINE -SEMICOL -CINLINE - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 16, 91, 8, 1, 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, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 6, 9, 50, 10, 9, 13, 9, 14, 9, 51, 3, 9, 3, 9, 3, 10, 3, 10, 7, 10, 58, 10, 10, 12, 10, 14, 10, 61, 11, 10, 3, 10, 3, 10, 3, 11, 6, 11, 66, 10, 11, 13, 11, 14, 11, 67, 3, 12, 3, 12, 7, 12, 72, 10, 12, 12, 12, 14, 12, 75, 11, 12, 3, 13, 5, 13, 78, 10, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 6, 15, 86, 10, 15, 13, 15, 14, 15, 87, 3, 15, 3, 15, 3, 59, 2, 16, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 3, 2, 7, 4, 2, 11, 11, 34, 34, 3, 2, 50, 59, 4, 2, 67, 92, 99, 124, 7, 2, 48, 48, 50, 59, 67, 92, 97, 97, 99, 124, 3, 2, 127, 127, 2, 96, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 3, 31, 3, 2, 2, 2, 5, 36, 3, 2, 2, 2, 7, 38, 3, 2, 2, 2, 9, 40, 3, 2, 2, 2, 11, 42, 3, 2, 2, 2, 13, 44, 3, 2, 2, 2, 15, 46, 3, 2, 2, 2, 17, 49, 3, 2, 2, 2, 19, 55, 3, 2, 2, 2, 21, 65, 3, 2, 2, 2, 23, 69, 3, 2, 2, 2, 25, 77, 3, 2, 2, 2, 27, 81, 3, 2, 2, 2, 29, 83, 3, 2, 2, 2, 31, 32, 7, 67, 2, 2, 32, 33, 7, 84, 2, 2, 33, 34, 7, 69, 2, 2, 34, 35, 7, 74, 2, 2, 35, 4, 3, 2, 2, 2, 36, 37, 7, 126, 2, 2, 37, 6, 3, 2, 2, 2, 38, 39, 7, 93, 2, 2, 39, 8, 3, 2, 2, 2, 40, 41, 7, 95, 2, 2, 41, 10, 3, 2, 2, 2, 42, 43, 7, 107, 2, 2, 43, 12, 3, 2, 2, 2, 44, 45, 7, 119, 2, 2, 45, 14, 3, 2, 2, 2, 46, 47, 7, 104, 2, 2, 47, 16, 3, 2, 2, 2, 48, 50, 9, 2, 2, 2, 49, 48, 3, 2, 2, 2, 50, 51, 3, 2, 2, 2, 51, 49, 3, 2, 2, 2, 51, 52, 3, 2, 2, 2, 52, 53, 3, 2, 2, 2, 53, 54, 8, 9, 2, 2, 54, 18, 3, 2, 2, 2, 55, 59, 7, 37, 2, 2, 56, 58, 11, 2, 2, 2, 57, 56, 3, 2, 2, 2, 58, 61, 3, 2, 2, 2, 59, 60, 3, 2, 2, 2, 59, 57, 3, 2, 2, 2, 60, 62, 3, 2, 2, 2, 61, 59, 3, 2, 2, 2, 62, 63, 5, 25, 13, 2, 63, 20, 3, 2, 2, 2, 64, 66, 9, 3, 2, 2, 65, 64, 3, 2, 2, 2, 66, 67, 3, 2, 2, 2, 67, 65, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 22, 3, 2, 2, 2, 69, 73, 9, 4, 2, 2, 70, 72, 9, 5, 2, 2, 71, 70, 3, 2, 2, 2, 72, 75, 3, 2, 2, 2, 73, 71, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 24, 3, 2, 2, 2, 75, 73, 3, 2, 2, 2, 76, 78, 7, 15, 2, 2, 77, 76, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 79, 3, 2, 2, 2, 79, 80, 7, 12, 2, 2, 80, 26, 3, 2, 2, 2, 81, 82, 7, 60, 2, 2, 82, 28, 3, 2, 2, 2, 83, 85, 7, 125, 2, 2, 84, 86, 10, 6, 2, 2, 85, 84, 3, 2, 2, 2, 86, 87, 3, 2, 2, 2, 87, 85, 3, 2, 2, 2, 87, 88, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 90, 7, 127, 2, 2, 90, 30, 3, 2, 2, 2, 9, 2, 51, 59, 67, 73, 77, 87, 3, 8, 2, 2] \ No newline at end of file diff --git a/HybroGen/IsaDescriptionLexer.py b/HybroGen/IsaDescriptionLexer.py deleted file mode 100644 index c1b4fd1..0000000 --- a/HybroGen/IsaDescriptionLexer.py +++ /dev/null @@ -1,89 +0,0 @@ -# Generated from IsaDescription.g4 by ANTLR 4.7.2 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\20") - buf.write("[\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") - buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") - buf.write("\t\16\4\17\t\17\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\4\3\4\3") - buf.write("\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\6\t\62\n\t\r\t\16\t") - buf.write("\63\3\t\3\t\3\n\3\n\7\n:\n\n\f\n\16\n=\13\n\3\n\3\n\3") - buf.write("\13\6\13B\n\13\r\13\16\13C\3\f\3\f\7\fH\n\f\f\f\16\fK") - buf.write("\13\f\3\r\5\rN\n\r\3\r\3\r\3\16\3\16\3\17\3\17\6\17V\n") - buf.write("\17\r\17\16\17W\3\17\3\17\3;\2\20\3\3\5\4\7\5\t\6\13\7") - buf.write("\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\3\2\7") - buf.write("\4\2\13\13\"\"\3\2\62;\4\2C\\c|\7\2\60\60\62;C\\aac|\3") - buf.write("\2\177\177\2`\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t") - buf.write("\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3") - buf.write("\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2") - buf.write("\2\2\2\33\3\2\2\2\2\35\3\2\2\2\3\37\3\2\2\2\5$\3\2\2\2") - buf.write("\7&\3\2\2\2\t(\3\2\2\2\13*\3\2\2\2\r,\3\2\2\2\17.\3\2") - buf.write("\2\2\21\61\3\2\2\2\23\67\3\2\2\2\25A\3\2\2\2\27E\3\2\2") - buf.write("\2\31M\3\2\2\2\33Q\3\2\2\2\35S\3\2\2\2\37 \7C\2\2 !\7") - buf.write("T\2\2!\"\7E\2\2\"#\7J\2\2#\4\3\2\2\2$%\7~\2\2%\6\3\2\2") - buf.write("\2&\'\7]\2\2\'\b\3\2\2\2()\7_\2\2)\n\3\2\2\2*+\7k\2\2") - buf.write("+\f\3\2\2\2,-\7w\2\2-\16\3\2\2\2./\7h\2\2/\20\3\2\2\2") - buf.write("\60\62\t\2\2\2\61\60\3\2\2\2\62\63\3\2\2\2\63\61\3\2\2") - buf.write("\2\63\64\3\2\2\2\64\65\3\2\2\2\65\66\b\t\2\2\66\22\3\2") - buf.write("\2\2\67;\7%\2\28:\13\2\2\298\3\2\2\2:=\3\2\2\2;<\3\2\2") - buf.write("\2;9\3\2\2\2<>\3\2\2\2=;\3\2\2\2>?\5\31\r\2?\24\3\2\2") - buf.write("\2@B\t\3\2\2A@\3\2\2\2BC\3\2\2\2CA\3\2\2\2CD\3\2\2\2D") - buf.write("\26\3\2\2\2EI\t\4\2\2FH\t\5\2\2GF\3\2\2\2HK\3\2\2\2IG") - buf.write("\3\2\2\2IJ\3\2\2\2J\30\3\2\2\2KI\3\2\2\2LN\7\17\2\2ML") - buf.write("\3\2\2\2MN\3\2\2\2NO\3\2\2\2OP\7\f\2\2P\32\3\2\2\2QR\7") - buf.write("<\2\2R\34\3\2\2\2SU\7}\2\2TV\n\6\2\2UT\3\2\2\2VW\3\2\2") - buf.write("\2WU\3\2\2\2WX\3\2\2\2XY\3\2\2\2YZ\7\177\2\2Z\36\3\2\2") - buf.write("\2\t\2\63;CIMW\3\b\2\2") - return buf.getvalue() - - -class IsaDescriptionLexer(Lexer): - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - T__0 = 1 - T__1 = 2 - T__2 = 3 - T__3 = 4 - T__4 = 5 - T__5 = 6 - T__6 = 7 - WS = 8 - COMMENT = 9 - INT = 10 - NAME = 11 - NEWLINE = 12 - SEMICOL = 13 - CINLINE = 14 - - channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ] - - modeNames = [ "DEFAULT_MODE" ] - - literalNames = [ "", - "'ARCH'", "'|'", "'['", "']'", "'i'", "'u'", "'f'", "':'" ] - - symbolicNames = [ "", - "WS", "COMMENT", "INT", "NAME", "NEWLINE", "SEMICOL", "CINLINE" ] - - ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", - "WS", "COMMENT", "INT", "NAME", "NEWLINE", "SEMICOL", - "CINLINE" ] - - grammarFileName = "IsaDescription.g4" - - def __init__(self, input=None, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) - self._actions = None - self._predicates = None - - diff --git a/HybroGen/IsaDescriptionLexer.tokens b/HybroGen/IsaDescriptionLexer.tokens deleted file mode 100644 index 2dcd920..0000000 --- a/HybroGen/IsaDescriptionLexer.tokens +++ /dev/null @@ -1,22 +0,0 @@ -T__0=1 -T__1=2 -T__2=3 -T__3=4 -T__4=5 -T__5=6 -T__6=7 -WS=8 -COMMENT=9 -INT=10 -NAME=11 -NEWLINE=12 -SEMICOL=13 -CINLINE=14 -'ARCH'=1 -'|'=2 -'['=3 -']'=4 -'i'=5 -'u'=6 -'f'=7 -':'=13 diff --git a/HybroGen/IsaDescriptionListener.py b/HybroGen/IsaDescriptionListener.py deleted file mode 100644 index 0f502fa..0000000 --- a/HybroGen/IsaDescriptionListener.py +++ /dev/null @@ -1,181 +0,0 @@ -# Generated from IsaDescription.g4 by ANTLR 4.7.2 -from antlr4 import * -if __name__ is not None and "." in __name__: - from .IsaDescriptionParser import IsaDescriptionParser -else: - from IsaDescriptionParser import IsaDescriptionParser - -# This class defines a complete listener for a parse tree produced by IsaDescriptionParser. -class IsaDescriptionListener(ParseTreeListener): - - # Enter a parse tree produced by IsaDescriptionParser#isadescription. - def enterIsadescription(self, ctx:IsaDescriptionParser.IsadescriptionContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#isadescription. - def exitIsadescription(self, ctx:IsaDescriptionParser.IsadescriptionContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#headerlines. - def enterHeaderlines(self, ctx:IsaDescriptionParser.HeaderlinesContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#headerlines. - def exitHeaderlines(self, ctx:IsaDescriptionParser.HeaderlinesContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#archline. - def enterArchline(self, ctx:IsaDescriptionParser.ArchlineContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#archline. - def exitArchline(self, ctx:IsaDescriptionParser.ArchlineContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#isalines. - def enterIsalines(self, ctx:IsaDescriptionParser.IsalinesContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#isalines. - def exitIsalines(self, ctx:IsaDescriptionParser.IsalinesContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#commentline. - def enterCommentline(self, ctx:IsaDescriptionParser.CommentlineContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#commentline. - def exitCommentline(self, ctx:IsaDescriptionParser.CommentlineContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#isaline. - def enterIsaline(self, ctx:IsaDescriptionParser.IsalineContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#isaline. - def exitIsaline(self, ctx:IsaDescriptionParser.IsalineContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#emptyline. - def enterEmptyline(self, ctx:IsaDescriptionParser.EmptylineContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#emptyline. - def exitEmptyline(self, ctx:IsaDescriptionParser.EmptylineContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#bindescr. - def enterBindescr(self, ctx:IsaDescriptionParser.BindescrContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#bindescr. - def exitBindescr(self, ctx:IsaDescriptionParser.BindescrContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#binelem. - def enterBinelem(self, ctx:IsaDescriptionParser.BinelemContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#binelem. - def exitBinelem(self, ctx:IsaDescriptionParser.BinelemContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#binvalue. - def enterBinvalue(self, ctx:IsaDescriptionParser.BinvalueContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#binvalue. - def exitBinvalue(self, ctx:IsaDescriptionParser.BinvalueContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#regbin. - def enterRegbin(self, ctx:IsaDescriptionParser.RegbinContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#regbin. - def exitRegbin(self, ctx:IsaDescriptionParser.RegbinContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#expbin. - def enterExpbin(self, ctx:IsaDescriptionParser.ExpbinContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#expbin. - def exitExpbin(self, ctx:IsaDescriptionParser.ExpbinContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#asmdescr. - def enterAsmdescr(self, ctx:IsaDescriptionParser.AsmdescrContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#asmdescr. - def exitAsmdescr(self, ctx:IsaDescriptionParser.AsmdescrContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#extname. - def enterExtname(self, ctx:IsaDescriptionParser.ExtnameContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#extname. - def exitExtname(self, ctx:IsaDescriptionParser.ExtnameContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#arith. - def enterArith(self, ctx:IsaDescriptionParser.ArithContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#arith. - def exitArith(self, ctx:IsaDescriptionParser.ArithContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#opname. - def enterOpname(self, ctx:IsaDescriptionParser.OpnameContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#opname. - def exitOpname(self, ctx:IsaDescriptionParser.OpnameContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#regName. - def enterRegName(self, ctx:IsaDescriptionParser.RegNameContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#regName. - def exitRegName(self, ctx:IsaDescriptionParser.RegNameContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#semname. - def enterSemname(self, ctx:IsaDescriptionParser.SemnameContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#semname. - def exitSemname(self, ctx:IsaDescriptionParser.SemnameContext): - pass - - - # Enter a parse tree produced by IsaDescriptionParser#reglist. - def enterReglist(self, ctx:IsaDescriptionParser.ReglistContext): - pass - - # Exit a parse tree produced by IsaDescriptionParser#reglist. - def exitReglist(self, ctx:IsaDescriptionParser.ReglistContext): - pass - - diff --git a/HybroGen/IsaDescriptionParser.py b/HybroGen/IsaDescriptionParser.py deleted file mode 100644 index 58e8755..0000000 --- a/HybroGen/IsaDescriptionParser.py +++ /dev/null @@ -1,1157 +0,0 @@ -# Generated from IsaDescription.g4 by ANTLR 4.7.2 -# encoding: utf-8 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\20") - buf.write("\u0085\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") - buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") - buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") - buf.write("\4\24\t\24\3\2\3\2\3\2\3\3\3\3\3\3\6\3/\n\3\r\3\16\3\60") - buf.write("\3\4\3\4\3\4\6\4\66\n\4\r\4\16\4\67\3\4\3\4\3\5\3\5\3") - buf.write("\5\7\5?\n\5\f\5\16\5B\13\5\3\6\3\6\3\7\3\7\3\7\3\7\3\7") - buf.write("\3\b\3\b\3\t\6\tN\n\t\r\t\16\tO\3\n\3\n\3\n\5\nU\n\n\3") - buf.write("\13\3\13\3\f\3\f\3\f\3\f\3\f\5\f^\n\f\3\f\3\f\3\r\3\r") - buf.write("\3\r\3\r\3\r\5\rg\n\r\3\r\3\r\3\16\3\16\3\16\3\16\3\16") - buf.write("\3\16\3\16\5\16r\n\16\3\17\3\17\3\20\3\20\3\21\3\21\3") - buf.write("\22\3\22\3\23\3\23\3\24\3\24\7\24\u0080\n\24\f\24\16\24") - buf.write("\u0083\13\24\3\24\2\2\25\2\4\6\b\n\f\16\20\22\24\26\30") - buf.write("\32\34\36 \"$&\2\3\3\2\7\t\2\177\2(\3\2\2\2\4.\3\2\2\2") - buf.write("\6\62\3\2\2\2\b@\3\2\2\2\nC\3\2\2\2\fE\3\2\2\2\16J\3\2") - buf.write("\2\2\20M\3\2\2\2\22T\3\2\2\2\24V\3\2\2\2\26X\3\2\2\2\30") - buf.write("a\3\2\2\2\32j\3\2\2\2\34s\3\2\2\2\36u\3\2\2\2 w\3\2\2") - buf.write("\2\"y\3\2\2\2${\3\2\2\2&}\3\2\2\2()\5\4\3\2)*\5\b\5\2") - buf.write("*\3\3\2\2\2+/\5\n\6\2,/\5\6\4\2-/\5\16\b\2.+\3\2\2\2.") - buf.write(",\3\2\2\2.-\3\2\2\2/\60\3\2\2\2\60.\3\2\2\2\60\61\3\2") - buf.write("\2\2\61\5\3\2\2\2\62\63\7\3\2\2\63\65\7\r\2\2\64\66\7") - buf.write("\f\2\2\65\64\3\2\2\2\66\67\3\2\2\2\67\65\3\2\2\2\678\3") - buf.write("\2\2\289\3\2\2\29:\7\16\2\2:\7\3\2\2\2;?\5\n\6\2;\3\2\2\2><\3\2\2\2>=\3\2\2\2?B\3\2\2\2") - buf.write("@>\3\2\2\2@A\3\2\2\2A\t\3\2\2\2B@\3\2\2\2CD\7\13\2\2D") - buf.write("\13\3\2\2\2EF\5\20\t\2FG\7\4\2\2GH\5\32\16\2HI\7\16\2") - buf.write("\2I\r\3\2\2\2JK\7\16\2\2K\17\3\2\2\2LN\5\22\n\2ML\3\2") - buf.write("\2\2NO\3\2\2\2OM\3\2\2\2OP\3\2\2\2P\21\3\2\2\2QU\5\24") - buf.write("\13\2RU\5\26\f\2SU\5\30\r\2TQ\3\2\2\2TR\3\2\2\2TS\3\2") - buf.write("\2\2U\23\3\2\2\2VW\7\f\2\2W\25\3\2\2\2XY\7\r\2\2YZ\7\5") - buf.write("\2\2Z]\7\f\2\2[\\\7\17\2\2\\^\7\f\2\2][\3\2\2\2]^\3\2") - buf.write("\2\2^_\3\2\2\2_`\7\6\2\2`\27\3\2\2\2ab\7\20\2\2bc\7\5") - buf.write("\2\2cf\7\f\2\2de\7\17\2\2eg\7\f\2\2fd\3\2\2\2fg\3\2\2") - buf.write("\2gh\3\2\2\2hi\7\6\2\2i\31\3\2\2\2jk\5\34\17\2kl\5\36") - buf.write("\20\2lm\7\f\2\2mn\7\f\2\2no\5$\23\2oq\5 \21\2pr\5&\24") - buf.write("\2qp\3\2\2\2qr\3\2\2\2r\33\3\2\2\2st\7\r\2\2t\35\3\2\2") - buf.write("\2uv\t\2\2\2v\37\3\2\2\2wx\7\r\2\2x!\3\2\2\2yz\7\r\2\2") - buf.write("z#\3\2\2\2{|\7\r\2\2|%\3\2\2\2}\u0081\5\"\22\2~\u0080") - buf.write("\5\"\22\2\177~\3\2\2\2\u0080\u0083\3\2\2\2\u0081\177\3") - buf.write("\2\2\2\u0081\u0082\3\2\2\2\u0082\'\3\2\2\2\u0083\u0081") - buf.write("\3\2\2\2\r.\60\67>@OT]fq\u0081") - return buf.getvalue() - - -class IsaDescriptionParser ( Parser ): - - grammarFileName = "IsaDescription.g4" - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - sharedContextCache = PredictionContextCache() - - literalNames = [ "", "'ARCH'", "'|'", "'['", "']'", "'i'", - "'u'", "'f'", "", "", "", - "", "", "':'" ] - - symbolicNames = [ "", "", "", "", - "", "", "", "", - "WS", "COMMENT", "INT", "NAME", "NEWLINE", "SEMICOL", - "CINLINE" ] - - RULE_isadescription = 0 - RULE_headerlines = 1 - RULE_archline = 2 - RULE_isalines = 3 - RULE_commentline = 4 - RULE_isaline = 5 - RULE_emptyline = 6 - RULE_bindescr = 7 - RULE_binelem = 8 - RULE_binvalue = 9 - RULE_regbin = 10 - RULE_expbin = 11 - RULE_asmdescr = 12 - RULE_extname = 13 - RULE_arith = 14 - RULE_opname = 15 - RULE_regName = 16 - RULE_semname = 17 - RULE_reglist = 18 - - ruleNames = [ "isadescription", "headerlines", "archline", "isalines", - "commentline", "isaline", "emptyline", "bindescr", "binelem", - "binvalue", "regbin", "expbin", "asmdescr", "extname", - "arith", "opname", "regName", "semname", "reglist" ] - - EOF = Token.EOF - T__0=1 - T__1=2 - T__2=3 - T__3=4 - T__4=5 - T__5=6 - T__6=7 - WS=8 - COMMENT=9 - INT=10 - NAME=11 - NEWLINE=12 - SEMICOL=13 - CINLINE=14 - - def __init__(self, input:TokenStream, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) - self._predicates = None - - - - class IsadescriptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def headerlines(self): - return self.getTypedRuleContext(IsaDescriptionParser.HeaderlinesContext,0) - - - def isalines(self): - return self.getTypedRuleContext(IsaDescriptionParser.IsalinesContext,0) - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_isadescription - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsadescription" ): - listener.enterIsadescription(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsadescription" ): - listener.exitIsadescription(self) - - - - - def isadescription(self): - - localctx = IsaDescriptionParser.IsadescriptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 0, self.RULE_isadescription) - try: - self.enterOuterAlt(localctx, 1) - self.state = 38 - self.headerlines() - self.state = 39 - self.isalines() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HeaderlinesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def commentline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.CommentlineContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.CommentlineContext,i) - - - def archline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.ArchlineContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.ArchlineContext,i) - - - def emptyline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.EmptylineContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.EmptylineContext,i) - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_headerlines - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHeaderlines" ): - listener.enterHeaderlines(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHeaderlines" ): - listener.exitHeaderlines(self) - - - - - def headerlines(self): - - localctx = IsaDescriptionParser.HeaderlinesContext(self, self._ctx, self.state) - self.enterRule(localctx, 2, self.RULE_headerlines) - try: - self.enterOuterAlt(localctx, 1) - self.state = 44 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 44 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [IsaDescriptionParser.COMMENT]: - self.state = 41 - self.commentline() - pass - elif token in [IsaDescriptionParser.T__0]: - self.state = 42 - self.archline() - pass - elif token in [IsaDescriptionParser.NEWLINE]: - self.state = 43 - self.emptyline() - pass - else: - raise NoViableAltException(self) - - - else: - raise NoViableAltException(self) - self.state = 46 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,1,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ArchlineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NAME(self): - return self.getToken(IsaDescriptionParser.NAME, 0) - - def NEWLINE(self): - return self.getToken(IsaDescriptionParser.NEWLINE, 0) - - def INT(self, i:int=None): - if i is None: - return self.getTokens(IsaDescriptionParser.INT) - else: - return self.getToken(IsaDescriptionParser.INT, i) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_archline - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArchline" ): - listener.enterArchline(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArchline" ): - listener.exitArchline(self) - - - - - def archline(self): - - localctx = IsaDescriptionParser.ArchlineContext(self, self._ctx, self.state) - self.enterRule(localctx, 4, self.RULE_archline) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 48 - self.match(IsaDescriptionParser.T__0) - self.state = 49 - self.match(IsaDescriptionParser.NAME) - self.state = 51 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 50 - self.match(IsaDescriptionParser.INT) - self.state = 53 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not (_la==IsaDescriptionParser.INT): - break - - self.state = 55 - self.match(IsaDescriptionParser.NEWLINE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IsalinesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def commentline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.CommentlineContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.CommentlineContext,i) - - - def emptyline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.EmptylineContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.EmptylineContext,i) - - - def isaline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.IsalineContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.IsalineContext,i) - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_isalines - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsalines" ): - listener.enterIsalines(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsalines" ): - listener.exitIsalines(self) - - - - - def isalines(self): - - localctx = IsaDescriptionParser.IsalinesContext(self, self._ctx, self.state) - self.enterRule(localctx, 6, self.RULE_isalines) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 62 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << IsaDescriptionParser.COMMENT) | (1 << IsaDescriptionParser.INT) | (1 << IsaDescriptionParser.NAME) | (1 << IsaDescriptionParser.NEWLINE) | (1 << IsaDescriptionParser.CINLINE))) != 0): - self.state = 60 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [IsaDescriptionParser.COMMENT]: - self.state = 57 - self.commentline() - pass - elif token in [IsaDescriptionParser.NEWLINE]: - self.state = 58 - self.emptyline() - pass - elif token in [IsaDescriptionParser.INT, IsaDescriptionParser.NAME, IsaDescriptionParser.CINLINE]: - self.state = 59 - self.isaline() - pass - else: - raise NoViableAltException(self) - - self.state = 64 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CommentlineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def COMMENT(self): - return self.getToken(IsaDescriptionParser.COMMENT, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_commentline - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCommentline" ): - listener.enterCommentline(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCommentline" ): - listener.exitCommentline(self) - - - - - def commentline(self): - - localctx = IsaDescriptionParser.CommentlineContext(self, self._ctx, self.state) - self.enterRule(localctx, 8, self.RULE_commentline) - try: - self.enterOuterAlt(localctx, 1) - self.state = 65 - self.match(IsaDescriptionParser.COMMENT) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IsalineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def bindescr(self): - return self.getTypedRuleContext(IsaDescriptionParser.BindescrContext,0) - - - def asmdescr(self): - return self.getTypedRuleContext(IsaDescriptionParser.AsmdescrContext,0) - - - def NEWLINE(self): - return self.getToken(IsaDescriptionParser.NEWLINE, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_isaline - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterIsaline" ): - listener.enterIsaline(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitIsaline" ): - listener.exitIsaline(self) - - - - - def isaline(self): - - localctx = IsaDescriptionParser.IsalineContext(self, self._ctx, self.state) - self.enterRule(localctx, 10, self.RULE_isaline) - try: - self.enterOuterAlt(localctx, 1) - self.state = 67 - self.bindescr() - self.state = 68 - self.match(IsaDescriptionParser.T__1) - self.state = 69 - self.asmdescr() - self.state = 70 - self.match(IsaDescriptionParser.NEWLINE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class EmptylineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NEWLINE(self): - return self.getToken(IsaDescriptionParser.NEWLINE, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_emptyline - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEmptyline" ): - listener.enterEmptyline(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEmptyline" ): - listener.exitEmptyline(self) - - - - - def emptyline(self): - - localctx = IsaDescriptionParser.EmptylineContext(self, self._ctx, self.state) - self.enterRule(localctx, 12, self.RULE_emptyline) - try: - self.enterOuterAlt(localctx, 1) - self.state = 72 - self.match(IsaDescriptionParser.NEWLINE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BindescrContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def binelem(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.BinelemContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.BinelemContext,i) - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_bindescr - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBindescr" ): - listener.enterBindescr(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBindescr" ): - listener.exitBindescr(self) - - - - - def bindescr(self): - - localctx = IsaDescriptionParser.BindescrContext(self, self._ctx, self.state) - self.enterRule(localctx, 14, self.RULE_bindescr) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 75 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 74 - self.binelem() - self.state = 77 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << IsaDescriptionParser.INT) | (1 << IsaDescriptionParser.NAME) | (1 << IsaDescriptionParser.CINLINE))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BinelemContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def binvalue(self): - return self.getTypedRuleContext(IsaDescriptionParser.BinvalueContext,0) - - - def regbin(self): - return self.getTypedRuleContext(IsaDescriptionParser.RegbinContext,0) - - - def expbin(self): - return self.getTypedRuleContext(IsaDescriptionParser.ExpbinContext,0) - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_binelem - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinelem" ): - listener.enterBinelem(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinelem" ): - listener.exitBinelem(self) - - - - - def binelem(self): - - localctx = IsaDescriptionParser.BinelemContext(self, self._ctx, self.state) - self.enterRule(localctx, 16, self.RULE_binelem) - try: - self.state = 82 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [IsaDescriptionParser.INT]: - self.enterOuterAlt(localctx, 1) - self.state = 79 - self.binvalue() - pass - elif token in [IsaDescriptionParser.NAME]: - self.enterOuterAlt(localctx, 2) - self.state = 80 - self.regbin() - pass - elif token in [IsaDescriptionParser.CINLINE]: - self.enterOuterAlt(localctx, 3) - self.state = 81 - self.expbin() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class BinvalueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INT(self): - return self.getToken(IsaDescriptionParser.INT, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_binvalue - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterBinvalue" ): - listener.enterBinvalue(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitBinvalue" ): - listener.exitBinvalue(self) - - - - - def binvalue(self): - - localctx = IsaDescriptionParser.BinvalueContext(self, self._ctx, self.state) - self.enterRule(localctx, 18, self.RULE_binvalue) - try: - self.enterOuterAlt(localctx, 1) - self.state = 84 - self.match(IsaDescriptionParser.INT) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegbinContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NAME(self): - return self.getToken(IsaDescriptionParser.NAME, 0) - - def INT(self, i:int=None): - if i is None: - return self.getTokens(IsaDescriptionParser.INT) - else: - return self.getToken(IsaDescriptionParser.INT, i) - - def SEMICOL(self): - return self.getToken(IsaDescriptionParser.SEMICOL, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_regbin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegbin" ): - listener.enterRegbin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegbin" ): - listener.exitRegbin(self) - - - - - def regbin(self): - - localctx = IsaDescriptionParser.RegbinContext(self, self._ctx, self.state) - self.enterRule(localctx, 20, self.RULE_regbin) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 86 - self.match(IsaDescriptionParser.NAME) - self.state = 87 - self.match(IsaDescriptionParser.T__2) - self.state = 88 - self.match(IsaDescriptionParser.INT) - self.state = 91 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==IsaDescriptionParser.SEMICOL: - self.state = 89 - self.match(IsaDescriptionParser.SEMICOL) - self.state = 90 - self.match(IsaDescriptionParser.INT) - - - self.state = 93 - self.match(IsaDescriptionParser.T__3) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExpbinContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def CINLINE(self): - return self.getToken(IsaDescriptionParser.CINLINE, 0) - - def INT(self, i:int=None): - if i is None: - return self.getTokens(IsaDescriptionParser.INT) - else: - return self.getToken(IsaDescriptionParser.INT, i) - - def SEMICOL(self): - return self.getToken(IsaDescriptionParser.SEMICOL, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_expbin - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExpbin" ): - listener.enterExpbin(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExpbin" ): - listener.exitExpbin(self) - - - - - def expbin(self): - - localctx = IsaDescriptionParser.ExpbinContext(self, self._ctx, self.state) - self.enterRule(localctx, 22, self.RULE_expbin) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 95 - self.match(IsaDescriptionParser.CINLINE) - self.state = 96 - self.match(IsaDescriptionParser.T__2) - self.state = 97 - self.match(IsaDescriptionParser.INT) - self.state = 100 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==IsaDescriptionParser.SEMICOL: - self.state = 98 - self.match(IsaDescriptionParser.SEMICOL) - self.state = 99 - self.match(IsaDescriptionParser.INT) - - - self.state = 102 - self.match(IsaDescriptionParser.T__3) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AsmdescrContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def extname(self): - return self.getTypedRuleContext(IsaDescriptionParser.ExtnameContext,0) - - - def arith(self): - return self.getTypedRuleContext(IsaDescriptionParser.ArithContext,0) - - - def INT(self, i:int=None): - if i is None: - return self.getTokens(IsaDescriptionParser.INT) - else: - return self.getToken(IsaDescriptionParser.INT, i) - - def semname(self): - return self.getTypedRuleContext(IsaDescriptionParser.SemnameContext,0) - - - def opname(self): - return self.getTypedRuleContext(IsaDescriptionParser.OpnameContext,0) - - - def reglist(self): - return self.getTypedRuleContext(IsaDescriptionParser.ReglistContext,0) - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_asmdescr - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterAsmdescr" ): - listener.enterAsmdescr(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitAsmdescr" ): - listener.exitAsmdescr(self) - - - - - def asmdescr(self): - - localctx = IsaDescriptionParser.AsmdescrContext(self, self._ctx, self.state) - self.enterRule(localctx, 24, self.RULE_asmdescr) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 104 - self.extname() - self.state = 105 - self.arith() - self.state = 106 - self.match(IsaDescriptionParser.INT) - self.state = 107 - self.match(IsaDescriptionParser.INT) - self.state = 108 - self.semname() - self.state = 109 - self.opname() - self.state = 111 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==IsaDescriptionParser.NAME: - self.state = 110 - self.reglist() - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExtnameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NAME(self): - return self.getToken(IsaDescriptionParser.NAME, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_extname - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExtname" ): - listener.enterExtname(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExtname" ): - listener.exitExtname(self) - - - - - def extname(self): - - localctx = IsaDescriptionParser.ExtnameContext(self, self._ctx, self.state) - self.enterRule(localctx, 26, self.RULE_extname) - try: - self.enterOuterAlt(localctx, 1) - self.state = 113 - self.match(IsaDescriptionParser.NAME) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ArithContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_arith - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterArith" ): - listener.enterArith(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitArith" ): - listener.exitArith(self) - - - - - def arith(self): - - localctx = IsaDescriptionParser.ArithContext(self, self._ctx, self.state) - self.enterRule(localctx, 28, self.RULE_arith) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 115 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << IsaDescriptionParser.T__4) | (1 << IsaDescriptionParser.T__5) | (1 << IsaDescriptionParser.T__6))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class OpnameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NAME(self): - return self.getToken(IsaDescriptionParser.NAME, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_opname - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterOpname" ): - listener.enterOpname(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitOpname" ): - listener.exitOpname(self) - - - - - def opname(self): - - localctx = IsaDescriptionParser.OpnameContext(self, self._ctx, self.state) - self.enterRule(localctx, 30, self.RULE_opname) - try: - self.enterOuterAlt(localctx, 1) - self.state = 117 - self.match(IsaDescriptionParser.NAME) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegNameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NAME(self): - return self.getToken(IsaDescriptionParser.NAME, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_regName - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegName" ): - listener.enterRegName(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegName" ): - listener.exitRegName(self) - - - - - def regName(self): - - localctx = IsaDescriptionParser.RegNameContext(self, self._ctx, self.state) - self.enterRule(localctx, 32, self.RULE_regName) - try: - self.enterOuterAlt(localctx, 1) - self.state = 119 - self.match(IsaDescriptionParser.NAME) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class SemnameContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NAME(self): - return self.getToken(IsaDescriptionParser.NAME, 0) - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_semname - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterSemname" ): - listener.enterSemname(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitSemname" ): - listener.exitSemname(self) - - - - - def semname(self): - - localctx = IsaDescriptionParser.SemnameContext(self, self._ctx, self.state) - self.enterRule(localctx, 34, self.RULE_semname) - try: - self.enterOuterAlt(localctx, 1) - self.state = 121 - self.match(IsaDescriptionParser.NAME) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReglistContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def regName(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(IsaDescriptionParser.RegNameContext) - else: - return self.getTypedRuleContext(IsaDescriptionParser.RegNameContext,i) - - - def getRuleIndex(self): - return IsaDescriptionParser.RULE_reglist - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterReglist" ): - listener.enterReglist(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitReglist" ): - listener.exitReglist(self) - - - - - def reglist(self): - - localctx = IsaDescriptionParser.ReglistContext(self, self._ctx, self.state) - self.enterRule(localctx, 36, self.RULE_reglist) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 123 - self.regName() - self.state = 127 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==IsaDescriptionParser.NAME: - self.state = 124 - self.regName() - self.state = 129 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - - - diff --git a/HybroGen/RegisterDescription.interp b/HybroGen/RegisterDescription.interp deleted file mode 100644 index 63bbb83..0000000 --- a/HybroGen/RegisterDescription.interp +++ /dev/null @@ -1,50 +0,0 @@ -token literal names: -null -'-' -'v' -'i' -'f' -null -null -null -null -null -null -null -null - -token symbolic names: -null -null -null -null -null -WS -COMMENT -INT -FUNCNAME -REGWN -NEWLINE -PREFIX -NAME - -rule names: -registerdescription -headerlines -commentline -emptyline -registerlines -registerline -registerlist -registerprefix -registerfunctionlist -registerfunction -registerfunctionwn -regbankvec -regbank -registerwidth -extension - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 14, 89, 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, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 6, 3, 38, 10, 3, 13, 3, 14, 3, 39, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 6, 6, 49, 10, 6, 13, 6, 14, 6, 50, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 60, 10, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 5, 9, 67, 10, 9, 3, 10, 3, 10, 5, 10, 71, 10, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 5, 12, 78, 10, 12, 3, 13, 5, 13, 81, 10, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 2, 2, 17, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 2, 3, 3, 2, 5, 6, 2, 83, 2, 32, 3, 2, 2, 2, 4, 37, 3, 2, 2, 2, 6, 41, 3, 2, 2, 2, 8, 43, 3, 2, 2, 2, 10, 48, 3, 2, 2, 2, 12, 52, 3, 2, 2, 2, 14, 61, 3, 2, 2, 2, 16, 63, 3, 2, 2, 2, 18, 70, 3, 2, 2, 2, 20, 72, 3, 2, 2, 2, 22, 74, 3, 2, 2, 2, 24, 80, 3, 2, 2, 2, 26, 82, 3, 2, 2, 2, 28, 84, 3, 2, 2, 2, 30, 86, 3, 2, 2, 2, 32, 33, 5, 4, 3, 2, 33, 34, 5, 10, 6, 2, 34, 3, 3, 2, 2, 2, 35, 38, 5, 6, 4, 2, 36, 38, 5, 8, 5, 2, 37, 35, 3, 2, 2, 2, 37, 36, 3, 2, 2, 2, 38, 39, 3, 2, 2, 2, 39, 37, 3, 2, 2, 2, 39, 40, 3, 2, 2, 2, 40, 5, 3, 2, 2, 2, 41, 42, 7, 8, 2, 2, 42, 7, 3, 2, 2, 2, 43, 44, 7, 12, 2, 2, 44, 9, 3, 2, 2, 2, 45, 49, 5, 6, 4, 2, 46, 49, 5, 12, 7, 2, 47, 49, 5, 8, 5, 2, 48, 45, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 48, 47, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 48, 3, 2, 2, 2, 50, 51, 3, 2, 2, 2, 51, 11, 3, 2, 2, 2, 52, 53, 5, 30, 16, 2, 53, 54, 5, 24, 13, 2, 54, 55, 5, 26, 14, 2, 55, 56, 5, 14, 8, 2, 56, 57, 5, 28, 15, 2, 57, 59, 5, 18, 10, 2, 58, 60, 7, 12, 2, 2, 59, 58, 3, 2, 2, 2, 59, 60, 3, 2, 2, 2, 60, 13, 3, 2, 2, 2, 61, 62, 5, 16, 9, 2, 62, 15, 3, 2, 2, 2, 63, 66, 7, 13, 2, 2, 64, 65, 7, 3, 2, 2, 65, 67, 7, 9, 2, 2, 66, 64, 3, 2, 2, 2, 66, 67, 3, 2, 2, 2, 67, 17, 3, 2, 2, 2, 68, 71, 5, 20, 11, 2, 69, 71, 5, 22, 12, 2, 70, 68, 3, 2, 2, 2, 70, 69, 3, 2, 2, 2, 71, 19, 3, 2, 2, 2, 72, 73, 7, 10, 2, 2, 73, 21, 3, 2, 2, 2, 74, 77, 7, 11, 2, 2, 75, 76, 7, 3, 2, 2, 76, 78, 7, 9, 2, 2, 77, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 23, 3, 2, 2, 2, 79, 81, 7, 4, 2, 2, 80, 79, 3, 2, 2, 2, 80, 81, 3, 2, 2, 2, 81, 25, 3, 2, 2, 2, 82, 83, 9, 2, 2, 2, 83, 27, 3, 2, 2, 2, 84, 85, 7, 9, 2, 2, 85, 29, 3, 2, 2, 2, 86, 87, 7, 14, 2, 2, 87, 31, 3, 2, 2, 2, 11, 37, 39, 48, 50, 59, 66, 70, 77, 80] \ No newline at end of file diff --git a/HybroGen/RegisterDescription.tokens b/HybroGen/RegisterDescription.tokens deleted file mode 100644 index 7db056c..0000000 --- a/HybroGen/RegisterDescription.tokens +++ /dev/null @@ -1,16 +0,0 @@ -T__0=1 -T__1=2 -T__2=3 -T__3=4 -WS=5 -COMMENT=6 -INT=7 -FUNCNAME=8 -REGWN=9 -NEWLINE=10 -PREFIX=11 -NAME=12 -'-'=1 -'v'=2 -'i'=3 -'f'=4 diff --git a/HybroGen/RegisterDescriptionLexer.interp b/HybroGen/RegisterDescriptionLexer.interp deleted file mode 100644 index 29a9957..0000000 --- a/HybroGen/RegisterDescriptionLexer.interp +++ /dev/null @@ -1,53 +0,0 @@ -token literal names: -null -'-' -'v' -'i' -'f' -null -null -null -null -null -null -null -null - -token symbolic names: -null -null -null -null -null -WS -COMMENT -INT -FUNCNAME -REGWN -NEWLINE -PREFIX -NAME - -rule names: -T__0 -T__1 -T__2 -T__3 -WS -COMMENT -INT -FUNCNAME -REGWN -NEWLINE -PREFIX -NAME - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 14, 96, 8, 1, 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, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 6, 6, 37, 10, 6, 13, 6, 14, 6, 38, 3, 6, 3, 6, 3, 7, 3, 7, 7, 7, 45, 10, 7, 12, 7, 14, 7, 48, 11, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 6, 8, 55, 10, 8, 13, 8, 14, 8, 56, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 71, 10, 9, 3, 10, 3, 10, 3, 10, 3, 11, 5, 11, 77, 10, 11, 3, 11, 3, 11, 3, 12, 3, 12, 7, 12, 83, 10, 12, 12, 12, 14, 12, 86, 11, 12, 3, 12, 3, 12, 3, 13, 3, 13, 7, 13, 92, 10, 13, 12, 13, 14, 13, 95, 11, 13, 3, 46, 2, 14, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 3, 2, 7, 4, 2, 11, 11, 34, 34, 3, 2, 50, 59, 5, 2, 75, 75, 81, 81, 86, 86, 4, 2, 67, 92, 99, 124, 7, 2, 48, 48, 50, 59, 67, 92, 97, 97, 99, 124, 2, 107, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 3, 27, 3, 2, 2, 2, 5, 29, 3, 2, 2, 2, 7, 31, 3, 2, 2, 2, 9, 33, 3, 2, 2, 2, 11, 36, 3, 2, 2, 2, 13, 42, 3, 2, 2, 2, 15, 54, 3, 2, 2, 2, 17, 70, 3, 2, 2, 2, 19, 72, 3, 2, 2, 2, 21, 76, 3, 2, 2, 2, 23, 80, 3, 2, 2, 2, 25, 89, 3, 2, 2, 2, 27, 28, 7, 47, 2, 2, 28, 4, 3, 2, 2, 2, 29, 30, 7, 120, 2, 2, 30, 6, 3, 2, 2, 2, 31, 32, 7, 107, 2, 2, 32, 8, 3, 2, 2, 2, 33, 34, 7, 104, 2, 2, 34, 10, 3, 2, 2, 2, 35, 37, 9, 2, 2, 2, 36, 35, 3, 2, 2, 2, 37, 38, 3, 2, 2, 2, 38, 36, 3, 2, 2, 2, 38, 39, 3, 2, 2, 2, 39, 40, 3, 2, 2, 2, 40, 41, 8, 6, 2, 2, 41, 12, 3, 2, 2, 2, 42, 46, 7, 37, 2, 2, 43, 45, 11, 2, 2, 2, 44, 43, 3, 2, 2, 2, 45, 48, 3, 2, 2, 2, 46, 47, 3, 2, 2, 2, 46, 44, 3, 2, 2, 2, 47, 49, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 49, 50, 5, 21, 11, 2, 50, 51, 3, 2, 2, 2, 51, 52, 8, 7, 2, 2, 52, 14, 3, 2, 2, 2, 53, 55, 9, 3, 2, 2, 54, 53, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 54, 3, 2, 2, 2, 56, 57, 3, 2, 2, 2, 57, 16, 3, 2, 2, 2, 58, 71, 7, 92, 2, 2, 59, 60, 7, 84, 2, 2, 60, 71, 7, 67, 2, 2, 61, 62, 7, 72, 2, 2, 62, 71, 7, 82, 2, 2, 63, 64, 7, 85, 2, 2, 64, 71, 7, 82, 2, 2, 65, 66, 7, 73, 2, 2, 66, 71, 7, 82, 2, 2, 67, 68, 7, 86, 2, 2, 68, 71, 7, 82, 2, 2, 69, 71, 7, 90, 2, 2, 70, 58, 3, 2, 2, 2, 70, 59, 3, 2, 2, 2, 70, 61, 3, 2, 2, 2, 70, 63, 3, 2, 2, 2, 70, 65, 3, 2, 2, 2, 70, 67, 3, 2, 2, 2, 70, 69, 3, 2, 2, 2, 71, 18, 3, 2, 2, 2, 72, 73, 9, 4, 2, 2, 73, 74, 5, 15, 8, 2, 74, 20, 3, 2, 2, 2, 75, 77, 7, 15, 2, 2, 76, 75, 3, 2, 2, 2, 76, 77, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 79, 7, 12, 2, 2, 79, 22, 3, 2, 2, 2, 80, 84, 7, 38, 2, 2, 81, 83, 9, 5, 2, 2, 82, 81, 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, 5, 15, 8, 2, 88, 24, 3, 2, 2, 2, 89, 93, 9, 5, 2, 2, 90, 92, 9, 6, 2, 2, 91, 90, 3, 2, 2, 2, 92, 95, 3, 2, 2, 2, 93, 91, 3, 2, 2, 2, 93, 94, 3, 2, 2, 2, 94, 26, 3, 2, 2, 2, 95, 93, 3, 2, 2, 2, 10, 2, 38, 46, 56, 70, 76, 84, 93, 3, 8, 2, 2] \ No newline at end of file diff --git a/HybroGen/RegisterDescriptionLexer.py b/HybroGen/RegisterDescriptionLexer.py deleted file mode 100644 index 1cce0ff..0000000 --- a/HybroGen/RegisterDescriptionLexer.py +++ /dev/null @@ -1,89 +0,0 @@ -# Generated from RegisterDescription.g4 by ANTLR 4.7.2 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\16") - buf.write("`\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") - buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\3\2") - buf.write("\3\2\3\3\3\3\3\4\3\4\3\5\3\5\3\6\6\6%\n\6\r\6\16\6&\3") - buf.write("\6\3\6\3\7\3\7\7\7-\n\7\f\7\16\7\60\13\7\3\7\3\7\3\7\3") - buf.write("\7\3\b\6\b\67\n\b\r\b\16\b8\3\t\3\t\3\t\3\t\3\t\3\t\3") - buf.write("\t\3\t\3\t\3\t\3\t\3\t\5\tG\n\t\3\n\3\n\3\n\3\13\5\13") - buf.write("M\n\13\3\13\3\13\3\f\3\f\7\fS\n\f\f\f\16\fV\13\f\3\f\3") - buf.write("\f\3\r\3\r\7\r\\\n\r\f\r\16\r_\13\r\3.\2\16\3\3\5\4\7") - buf.write("\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\3\2\7") - buf.write("\4\2\13\13\"\"\3\2\62;\5\2KKQQVV\4\2C\\c|\7\2\60\60\62") - buf.write(";C\\aac|\2k\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3") - buf.write("\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2") - buf.write("\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2") - buf.write("\2\3\33\3\2\2\2\5\35\3\2\2\2\7\37\3\2\2\2\t!\3\2\2\2\13") - buf.write("$\3\2\2\2\r*\3\2\2\2\17\66\3\2\2\2\21F\3\2\2\2\23H\3\2") - buf.write("\2\2\25L\3\2\2\2\27P\3\2\2\2\31Y\3\2\2\2\33\34\7/\2\2") - buf.write("\34\4\3\2\2\2\35\36\7x\2\2\36\6\3\2\2\2\37 \7k\2\2 \b") - buf.write("\3\2\2\2!\"\7h\2\2\"\n\3\2\2\2#%\t\2\2\2$#\3\2\2\2%&\3") - buf.write("\2\2\2&$\3\2\2\2&\'\3\2\2\2\'(\3\2\2\2()\b\6\2\2)\f\3") - buf.write("\2\2\2*.\7%\2\2+-\13\2\2\2,+\3\2\2\2-\60\3\2\2\2./\3\2") - buf.write("\2\2.,\3\2\2\2/\61\3\2\2\2\60.\3\2\2\2\61\62\5\25\13\2") - buf.write("\62\63\3\2\2\2\63\64\b\7\2\2\64\16\3\2\2\2\65\67\t\3\2") - buf.write("\2\66\65\3\2\2\2\678\3\2\2\28\66\3\2\2\289\3\2\2\29\20") - buf.write("\3\2\2\2:G\7\\\2\2;<\7T\2\2\7H\2\2>G\7R\2\2") - buf.write("?@\7U\2\2@G\7R\2\2AB\7I\2\2BG\7R\2\2CD\7V\2\2DG\7R\2\2") - buf.write("EG\7Z\2\2F:\3\2\2\2F;\3\2\2\2F=\3\2\2\2F?\3\2\2\2FA\3") - buf.write("\2\2\2FC\3\2\2\2FE\3\2\2\2G\22\3\2\2\2HI\t\4\2\2IJ\5\17") - buf.write("\b\2J\24\3\2\2\2KM\7\17\2\2LK\3\2\2\2LM\3\2\2\2MN\3\2") - buf.write("\2\2NO\7\f\2\2O\26\3\2\2\2PT\7&\2\2QS\t\5\2\2RQ\3\2\2") - buf.write("\2SV\3\2\2\2TR\3\2\2\2TU\3\2\2\2UW\3\2\2\2VT\3\2\2\2W") - buf.write("X\5\17\b\2X\30\3\2\2\2Y]\t\5\2\2Z\\\t\6\2\2[Z\3\2\2\2") - buf.write("\\_\3\2\2\2][\3\2\2\2]^\3\2\2\2^\32\3\2\2\2_]\3\2\2\2") - buf.write("\n\2&.8FLT]\3\b\2\2") - return buf.getvalue() - - -class RegisterDescriptionLexer(Lexer): - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - T__0 = 1 - T__1 = 2 - T__2 = 3 - T__3 = 4 - WS = 5 - COMMENT = 6 - INT = 7 - FUNCNAME = 8 - REGWN = 9 - NEWLINE = 10 - PREFIX = 11 - NAME = 12 - - channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ] - - modeNames = [ "DEFAULT_MODE" ] - - literalNames = [ "", - "'-'", "'v'", "'i'", "'f'" ] - - symbolicNames = [ "", - "WS", "COMMENT", "INT", "FUNCNAME", "REGWN", "NEWLINE", "PREFIX", - "NAME" ] - - ruleNames = [ "T__0", "T__1", "T__2", "T__3", "WS", "COMMENT", "INT", - "FUNCNAME", "REGWN", "NEWLINE", "PREFIX", "NAME" ] - - grammarFileName = "RegisterDescription.g4" - - def __init__(self, input=None, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) - self._actions = None - self._predicates = None - - diff --git a/HybroGen/RegisterDescriptionLexer.tokens b/HybroGen/RegisterDescriptionLexer.tokens deleted file mode 100644 index 7db056c..0000000 --- a/HybroGen/RegisterDescriptionLexer.tokens +++ /dev/null @@ -1,16 +0,0 @@ -T__0=1 -T__1=2 -T__2=3 -T__3=4 -WS=5 -COMMENT=6 -INT=7 -FUNCNAME=8 -REGWN=9 -NEWLINE=10 -PREFIX=11 -NAME=12 -'-'=1 -'v'=2 -'i'=3 -'f'=4 diff --git a/HybroGen/RegisterDescriptionListener.py b/HybroGen/RegisterDescriptionListener.py deleted file mode 100644 index b65375e..0000000 --- a/HybroGen/RegisterDescriptionListener.py +++ /dev/null @@ -1,145 +0,0 @@ -# Generated from RegisterDescription.g4 by ANTLR 4.7.2 -from antlr4 import * -if __name__ is not None and "." in __name__: - from .RegisterDescriptionParser import RegisterDescriptionParser -else: - from RegisterDescriptionParser import RegisterDescriptionParser - -# This class defines a complete listener for a parse tree produced by RegisterDescriptionParser. -class RegisterDescriptionListener(ParseTreeListener): - - # Enter a parse tree produced by RegisterDescriptionParser#registerdescription. - def enterRegisterdescription(self, ctx:RegisterDescriptionParser.RegisterdescriptionContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerdescription. - def exitRegisterdescription(self, ctx:RegisterDescriptionParser.RegisterdescriptionContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#headerlines. - def enterHeaderlines(self, ctx:RegisterDescriptionParser.HeaderlinesContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#headerlines. - def exitHeaderlines(self, ctx:RegisterDescriptionParser.HeaderlinesContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#commentline. - def enterCommentline(self, ctx:RegisterDescriptionParser.CommentlineContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#commentline. - def exitCommentline(self, ctx:RegisterDescriptionParser.CommentlineContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#emptyline. - def enterEmptyline(self, ctx:RegisterDescriptionParser.EmptylineContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#emptyline. - def exitEmptyline(self, ctx:RegisterDescriptionParser.EmptylineContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerlines. - def enterRegisterlines(self, ctx:RegisterDescriptionParser.RegisterlinesContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerlines. - def exitRegisterlines(self, ctx:RegisterDescriptionParser.RegisterlinesContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerline. - def enterRegisterline(self, ctx:RegisterDescriptionParser.RegisterlineContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerline. - def exitRegisterline(self, ctx:RegisterDescriptionParser.RegisterlineContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerlist. - def enterRegisterlist(self, ctx:RegisterDescriptionParser.RegisterlistContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerlist. - def exitRegisterlist(self, ctx:RegisterDescriptionParser.RegisterlistContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerprefix. - def enterRegisterprefix(self, ctx:RegisterDescriptionParser.RegisterprefixContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerprefix. - def exitRegisterprefix(self, ctx:RegisterDescriptionParser.RegisterprefixContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerfunctionlist. - def enterRegisterfunctionlist(self, ctx:RegisterDescriptionParser.RegisterfunctionlistContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerfunctionlist. - def exitRegisterfunctionlist(self, ctx:RegisterDescriptionParser.RegisterfunctionlistContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerfunction. - def enterRegisterfunction(self, ctx:RegisterDescriptionParser.RegisterfunctionContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerfunction. - def exitRegisterfunction(self, ctx:RegisterDescriptionParser.RegisterfunctionContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerfunctionwn. - def enterRegisterfunctionwn(self, ctx:RegisterDescriptionParser.RegisterfunctionwnContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerfunctionwn. - def exitRegisterfunctionwn(self, ctx:RegisterDescriptionParser.RegisterfunctionwnContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#regbankvec. - def enterRegbankvec(self, ctx:RegisterDescriptionParser.RegbankvecContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#regbankvec. - def exitRegbankvec(self, ctx:RegisterDescriptionParser.RegbankvecContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#regbank. - def enterRegbank(self, ctx:RegisterDescriptionParser.RegbankContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#regbank. - def exitRegbank(self, ctx:RegisterDescriptionParser.RegbankContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#registerwidth. - def enterRegisterwidth(self, ctx:RegisterDescriptionParser.RegisterwidthContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#registerwidth. - def exitRegisterwidth(self, ctx:RegisterDescriptionParser.RegisterwidthContext): - pass - - - # Enter a parse tree produced by RegisterDescriptionParser#extension. - def enterExtension(self, ctx:RegisterDescriptionParser.ExtensionContext): - pass - - # Exit a parse tree produced by RegisterDescriptionParser#extension. - def exitExtension(self, ctx:RegisterDescriptionParser.ExtensionContext): - pass - - diff --git a/HybroGen/RegisterDescriptionParser.py b/HybroGen/RegisterDescriptionParser.py deleted file mode 100644 index 89b316c..0000000 --- a/HybroGen/RegisterDescriptionParser.py +++ /dev/null @@ -1,873 +0,0 @@ -# Generated from RegisterDescription.g4 by ANTLR 4.7.2 -# encoding: utf-8 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\16") - buf.write("Y\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b") - buf.write("\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16\t") - buf.write("\16\4\17\t\17\4\20\t\20\3\2\3\2\3\2\3\3\3\3\6\3&\n\3\r") - buf.write("\3\16\3\'\3\4\3\4\3\5\3\5\3\6\3\6\3\6\6\6\61\n\6\r\6\16") - buf.write("\6\62\3\7\3\7\3\7\3\7\3\7\3\7\3\7\5\7<\n\7\3\b\3\b\3\t") - buf.write("\3\t\3\t\5\tC\n\t\3\n\3\n\5\nG\n\n\3\13\3\13\3\f\3\f\3") - buf.write("\f\5\fN\n\f\3\r\5\rQ\n\r\3\16\3\16\3\17\3\17\3\20\3\20") - buf.write("\3\20\2\2\21\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36\2") - buf.write("\3\3\2\5\6\2S\2 \3\2\2\2\4%\3\2\2\2\6)\3\2\2\2\b+\3\2") - buf.write("\2\2\n\60\3\2\2\2\f\64\3\2\2\2\16=\3\2\2\2\20?\3\2\2\2") - buf.write("\22F\3\2\2\2\24H\3\2\2\2\26J\3\2\2\2\30P\3\2\2\2\32R\3") - buf.write("\2\2\2\34T\3\2\2\2\36V\3\2\2\2 !\5\4\3\2!\"\5\n\6\2\"") - buf.write("\3\3\2\2\2#&\5\6\4\2$&\5\b\5\2%#\3\2\2\2%$\3\2\2\2&\'") - buf.write("\3\2\2\2\'%\3\2\2\2\'(\3\2\2\2(\5\3\2\2\2)*\7\b\2\2*\7") - buf.write("\3\2\2\2+,\7\f\2\2,\t\3\2\2\2-\61\5\6\4\2.\61\5\f\7\2") - buf.write("/\61\5\b\5\2\60-\3\2\2\2\60.\3\2\2\2\60/\3\2\2\2\61\62") - buf.write("\3\2\2\2\62\60\3\2\2\2\62\63\3\2\2\2\63\13\3\2\2\2\64") - buf.write("\65\5\36\20\2\65\66\5\30\r\2\66\67\5\32\16\2\678\5\16") - buf.write("\b\289\5\34\17\29;\5\22\n\2:<\7\f\2\2;:\3\2\2\2;<\3\2") - buf.write("\2\2<\r\3\2\2\2=>\5\20\t\2>\17\3\2\2\2?B\7\r\2\2@A\7\3") - buf.write("\2\2AC\7\t\2\2B@\3\2\2\2BC\3\2\2\2C\21\3\2\2\2DG\5\24") - buf.write("\13\2EG\5\26\f\2FD\3\2\2\2FE\3\2\2\2G\23\3\2\2\2HI\7\n") - buf.write("\2\2I\25\3\2\2\2JM\7\13\2\2KL\7\3\2\2LN\7\t\2\2MK\3\2") - buf.write("\2\2MN\3\2\2\2N\27\3\2\2\2OQ\7\4\2\2PO\3\2\2\2PQ\3\2\2") - buf.write("\2Q\31\3\2\2\2RS\t\2\2\2S\33\3\2\2\2TU\7\t\2\2U\35\3\2") - buf.write("\2\2VW\7\16\2\2W\37\3\2\2\2\13%\'\60\62;BFMP") - return buf.getvalue() - - -class RegisterDescriptionParser ( Parser ): - - grammarFileName = "RegisterDescription.g4" - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - sharedContextCache = PredictionContextCache() - - literalNames = [ "", "'-'", "'v'", "'i'", "'f'" ] - - symbolicNames = [ "", "", "", "", - "", "WS", "COMMENT", "INT", "FUNCNAME", "REGWN", - "NEWLINE", "PREFIX", "NAME" ] - - RULE_registerdescription = 0 - RULE_headerlines = 1 - RULE_commentline = 2 - RULE_emptyline = 3 - RULE_registerlines = 4 - RULE_registerline = 5 - RULE_registerlist = 6 - RULE_registerprefix = 7 - RULE_registerfunctionlist = 8 - RULE_registerfunction = 9 - RULE_registerfunctionwn = 10 - RULE_regbankvec = 11 - RULE_regbank = 12 - RULE_registerwidth = 13 - RULE_extension = 14 - - ruleNames = [ "registerdescription", "headerlines", "commentline", - "emptyline", "registerlines", "registerline", "registerlist", - "registerprefix", "registerfunctionlist", "registerfunction", - "registerfunctionwn", "regbankvec", "regbank", "registerwidth", - "extension" ] - - EOF = Token.EOF - T__0=1 - T__1=2 - T__2=3 - T__3=4 - WS=5 - COMMENT=6 - INT=7 - FUNCNAME=8 - REGWN=9 - NEWLINE=10 - PREFIX=11 - NAME=12 - - def __init__(self, input:TokenStream, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) - self._predicates = None - - - - class RegisterdescriptionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def headerlines(self): - return self.getTypedRuleContext(RegisterDescriptionParser.HeaderlinesContext,0) - - - def registerlines(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterlinesContext,0) - - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerdescription - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterdescription" ): - listener.enterRegisterdescription(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterdescription" ): - listener.exitRegisterdescription(self) - - - - - def registerdescription(self): - - localctx = RegisterDescriptionParser.RegisterdescriptionContext(self, self._ctx, self.state) - self.enterRule(localctx, 0, self.RULE_registerdescription) - try: - self.enterOuterAlt(localctx, 1) - self.state = 30 - self.headerlines() - self.state = 31 - self.registerlines() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class HeaderlinesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def commentline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(RegisterDescriptionParser.CommentlineContext) - else: - return self.getTypedRuleContext(RegisterDescriptionParser.CommentlineContext,i) - - - def emptyline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(RegisterDescriptionParser.EmptylineContext) - else: - return self.getTypedRuleContext(RegisterDescriptionParser.EmptylineContext,i) - - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_headerlines - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterHeaderlines" ): - listener.enterHeaderlines(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitHeaderlines" ): - listener.exitHeaderlines(self) - - - - - def headerlines(self): - - localctx = RegisterDescriptionParser.HeaderlinesContext(self, self._ctx, self.state) - self.enterRule(localctx, 2, self.RULE_headerlines) - try: - self.enterOuterAlt(localctx, 1) - self.state = 35 - self._errHandler.sync(self) - _alt = 1 - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt == 1: - self.state = 35 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [RegisterDescriptionParser.COMMENT]: - self.state = 33 - self.commentline() - pass - elif token in [RegisterDescriptionParser.NEWLINE]: - self.state = 34 - self.emptyline() - pass - else: - raise NoViableAltException(self) - - - else: - raise NoViableAltException(self) - self.state = 37 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,1,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CommentlineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def COMMENT(self): - return self.getToken(RegisterDescriptionParser.COMMENT, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_commentline - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterCommentline" ): - listener.enterCommentline(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitCommentline" ): - listener.exitCommentline(self) - - - - - def commentline(self): - - localctx = RegisterDescriptionParser.CommentlineContext(self, self._ctx, self.state) - self.enterRule(localctx, 4, self.RULE_commentline) - try: - self.enterOuterAlt(localctx, 1) - self.state = 39 - self.match(RegisterDescriptionParser.COMMENT) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class EmptylineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NEWLINE(self): - return self.getToken(RegisterDescriptionParser.NEWLINE, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_emptyline - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterEmptyline" ): - listener.enterEmptyline(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitEmptyline" ): - listener.exitEmptyline(self) - - - - - def emptyline(self): - - localctx = RegisterDescriptionParser.EmptylineContext(self, self._ctx, self.state) - self.enterRule(localctx, 6, self.RULE_emptyline) - try: - self.enterOuterAlt(localctx, 1) - self.state = 41 - self.match(RegisterDescriptionParser.NEWLINE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterlinesContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def commentline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(RegisterDescriptionParser.CommentlineContext) - else: - return self.getTypedRuleContext(RegisterDescriptionParser.CommentlineContext,i) - - - def registerline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(RegisterDescriptionParser.RegisterlineContext) - else: - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterlineContext,i) - - - def emptyline(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(RegisterDescriptionParser.EmptylineContext) - else: - return self.getTypedRuleContext(RegisterDescriptionParser.EmptylineContext,i) - - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerlines - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterlines" ): - listener.enterRegisterlines(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterlines" ): - listener.exitRegisterlines(self) - - - - - def registerlines(self): - - localctx = RegisterDescriptionParser.RegisterlinesContext(self, self._ctx, self.state) - self.enterRule(localctx, 8, self.RULE_registerlines) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 46 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 46 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [RegisterDescriptionParser.COMMENT]: - self.state = 43 - self.commentline() - pass - elif token in [RegisterDescriptionParser.NAME]: - self.state = 44 - self.registerline() - pass - elif token in [RegisterDescriptionParser.NEWLINE]: - self.state = 45 - self.emptyline() - pass - else: - raise NoViableAltException(self) - - self.state = 48 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << RegisterDescriptionParser.COMMENT) | (1 << RegisterDescriptionParser.NEWLINE) | (1 << RegisterDescriptionParser.NAME))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterlineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def extension(self): - return self.getTypedRuleContext(RegisterDescriptionParser.ExtensionContext,0) - - - def regbankvec(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegbankvecContext,0) - - - def regbank(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegbankContext,0) - - - def registerlist(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterlistContext,0) - - - def registerwidth(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterwidthContext,0) - - - def registerfunctionlist(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterfunctionlistContext,0) - - - def NEWLINE(self): - return self.getToken(RegisterDescriptionParser.NEWLINE, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerline - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterline" ): - listener.enterRegisterline(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterline" ): - listener.exitRegisterline(self) - - - - - def registerline(self): - - localctx = RegisterDescriptionParser.RegisterlineContext(self, self._ctx, self.state) - self.enterRule(localctx, 10, self.RULE_registerline) - try: - self.enterOuterAlt(localctx, 1) - self.state = 50 - self.extension() - self.state = 51 - self.regbankvec() - self.state = 52 - self.regbank() - self.state = 53 - self.registerlist() - self.state = 54 - self.registerwidth() - self.state = 55 - self.registerfunctionlist() - self.state = 57 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,4,self._ctx) - if la_ == 1: - self.state = 56 - self.match(RegisterDescriptionParser.NEWLINE) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterlistContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def registerprefix(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterprefixContext,0) - - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerlist - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterlist" ): - listener.enterRegisterlist(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterlist" ): - listener.exitRegisterlist(self) - - - - - def registerlist(self): - - localctx = RegisterDescriptionParser.RegisterlistContext(self, self._ctx, self.state) - self.enterRule(localctx, 12, self.RULE_registerlist) - try: - self.enterOuterAlt(localctx, 1) - self.state = 59 - self.registerprefix() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterprefixContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def PREFIX(self): - return self.getToken(RegisterDescriptionParser.PREFIX, 0) - - def INT(self): - return self.getToken(RegisterDescriptionParser.INT, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerprefix - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterprefix" ): - listener.enterRegisterprefix(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterprefix" ): - listener.exitRegisterprefix(self) - - - - - def registerprefix(self): - - localctx = RegisterDescriptionParser.RegisterprefixContext(self, self._ctx, self.state) - self.enterRule(localctx, 14, self.RULE_registerprefix) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 61 - self.match(RegisterDescriptionParser.PREFIX) - self.state = 64 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==RegisterDescriptionParser.T__0: - self.state = 62 - self.match(RegisterDescriptionParser.T__0) - self.state = 63 - self.match(RegisterDescriptionParser.INT) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterfunctionlistContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def registerfunction(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterfunctionContext,0) - - - def registerfunctionwn(self): - return self.getTypedRuleContext(RegisterDescriptionParser.RegisterfunctionwnContext,0) - - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerfunctionlist - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterfunctionlist" ): - listener.enterRegisterfunctionlist(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterfunctionlist" ): - listener.exitRegisterfunctionlist(self) - - - - - def registerfunctionlist(self): - - localctx = RegisterDescriptionParser.RegisterfunctionlistContext(self, self._ctx, self.state) - self.enterRule(localctx, 16, self.RULE_registerfunctionlist) - try: - self.state = 68 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [RegisterDescriptionParser.FUNCNAME]: - self.enterOuterAlt(localctx, 1) - self.state = 66 - self.registerfunction() - pass - elif token in [RegisterDescriptionParser.REGWN]: - self.enterOuterAlt(localctx, 2) - self.state = 67 - self.registerfunctionwn() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterfunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def FUNCNAME(self): - return self.getToken(RegisterDescriptionParser.FUNCNAME, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerfunction - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterfunction" ): - listener.enterRegisterfunction(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterfunction" ): - listener.exitRegisterfunction(self) - - - - - def registerfunction(self): - - localctx = RegisterDescriptionParser.RegisterfunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 18, self.RULE_registerfunction) - try: - self.enterOuterAlt(localctx, 1) - self.state = 70 - self.match(RegisterDescriptionParser.FUNCNAME) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterfunctionwnContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def REGWN(self): - return self.getToken(RegisterDescriptionParser.REGWN, 0) - - def INT(self): - return self.getToken(RegisterDescriptionParser.INT, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerfunctionwn - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterfunctionwn" ): - listener.enterRegisterfunctionwn(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterfunctionwn" ): - listener.exitRegisterfunctionwn(self) - - - - - def registerfunctionwn(self): - - localctx = RegisterDescriptionParser.RegisterfunctionwnContext(self, self._ctx, self.state) - self.enterRule(localctx, 20, self.RULE_registerfunctionwn) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 72 - self.match(RegisterDescriptionParser.REGWN) - self.state = 75 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==RegisterDescriptionParser.T__0: - self.state = 73 - self.match(RegisterDescriptionParser.T__0) - self.state = 74 - self.match(RegisterDescriptionParser.INT) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegbankvecContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_regbankvec - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegbankvec" ): - listener.enterRegbankvec(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegbankvec" ): - listener.exitRegbankvec(self) - - - - - def regbankvec(self): - - localctx = RegisterDescriptionParser.RegbankvecContext(self, self._ctx, self.state) - self.enterRule(localctx, 22, self.RULE_regbankvec) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 78 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==RegisterDescriptionParser.T__1: - self.state = 77 - self.match(RegisterDescriptionParser.T__1) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegbankContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_regbank - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegbank" ): - listener.enterRegbank(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegbank" ): - listener.exitRegbank(self) - - - - - def regbank(self): - - localctx = RegisterDescriptionParser.RegbankContext(self, self._ctx, self.state) - self.enterRule(localctx, 24, self.RULE_regbank) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 80 - _la = self._input.LA(1) - if not(_la==RegisterDescriptionParser.T__2 or _la==RegisterDescriptionParser.T__3): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class RegisterwidthContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INT(self): - return self.getToken(RegisterDescriptionParser.INT, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_registerwidth - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterRegisterwidth" ): - listener.enterRegisterwidth(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitRegisterwidth" ): - listener.exitRegisterwidth(self) - - - - - def registerwidth(self): - - localctx = RegisterDescriptionParser.RegisterwidthContext(self, self._ctx, self.state) - self.enterRule(localctx, 26, self.RULE_registerwidth) - try: - self.enterOuterAlt(localctx, 1) - self.state = 82 - self.match(RegisterDescriptionParser.INT) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ExtensionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def NAME(self): - return self.getToken(RegisterDescriptionParser.NAME, 0) - - def getRuleIndex(self): - return RegisterDescriptionParser.RULE_extension - - def enterRule(self, listener:ParseTreeListener): - if hasattr( listener, "enterExtension" ): - listener.enterExtension(self) - - def exitRule(self, listener:ParseTreeListener): - if hasattr( listener, "exitExtension" ): - listener.exitExtension(self) - - - - - def extension(self): - - localctx = RegisterDescriptionParser.ExtensionContext(self, self._ctx, self.state) - self.enterRule(localctx, 28, self.RULE_extension) - try: - self.enterOuterAlt(localctx, 1) - self.state = 84 - self.match(RegisterDescriptionParser.NAME) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - - - diff --git a/HybroLang/HybroLang.interp b/HybroLang/HybroLang.interp deleted file mode 100644 index 4f98fb4..0000000 --- a/HybroLang/HybroLang.interp +++ /dev/null @@ -1,125 +0,0 @@ -token literal names: -null -'(' -')' -'{' -'}' -',' -';' -'for' -'if' -'else' -'return' -'=' -'[' -']' -'*' -'/' -'+' -'-' -'<<' -'>>' -'&' -'|' -'^' -'int' -'uint' -'sint' -'suint' -'flt' -'cpl' -'pix' -'ipv4' -'ipv6' -'[]' -'==' -'!=' -'<' -'>' -'<=' -'>=' -null -null -null -null -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 -DecimalFloatingConstant -IntegerConstant -DecimalConstant -Name -INLINE -WhiteSpace -LineComment -NewLine - -rule names: -compilationunit -function -fndcl -fnprototype -fnbody -paramdcllist -localvardef -vardcllist -vardcl -actionlist -condexpr -action -returnexpr -affectexpr -unaryexpr -varorvalue -datatype -intconstvalue -constvalue -constinline -typebase -condOperator - - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 48, 206, 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, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 3, 2, 6, 2, 48, 10, 2, 13, 2, 14, 2, 49, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 7, 6, 65, 10, 6, 12, 6, 14, 6, 68, 11, 6, 3, 6, 3, 6, 5, 6, 72, 10, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 7, 7, 79, 10, 7, 12, 7, 14, 7, 82, 11, 7, 3, 7, 5, 7, 85, 10, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 7, 9, 93, 10, 9, 12, 9, 14, 9, 96, 11, 9, 3, 10, 3, 10, 3, 10, 3, 11, 7, 11, 102, 10, 11, 12, 11, 14, 11, 105, 11, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 5, 13, 138, 10, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 154, 10, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 7, 16, 171, 10, 16, 12, 16, 14, 16, 174, 11, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 5, 17, 183, 10, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 5, 19, 191, 10, 19, 3, 20, 3, 20, 3, 20, 5, 20, 196, 10, 20, 3, 21, 3, 21, 3, 22, 3, 22, 5, 22, 202, 10, 22, 3, 23, 3, 23, 3, 23, 2, 3, 30, 24, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 2, 8, 3, 2, 16, 17, 3, 2, 18, 19, 3, 2, 20, 21, 3, 2, 22, 24, 3, 2, 25, 33, 3, 2, 35, 40, 2, 203, 2, 47, 3, 2, 2, 2, 4, 51, 3, 2, 2, 2, 6, 54, 3, 2, 2, 2, 8, 58, 3, 2, 2, 2, 10, 62, 3, 2, 2, 2, 12, 84, 3, 2, 2, 2, 14, 86, 3, 2, 2, 2, 16, 89, 3, 2, 2, 2, 18, 97, 3, 2, 2, 2, 20, 103, 3, 2, 2, 2, 22, 106, 3, 2, 2, 2, 24, 137, 3, 2, 2, 2, 26, 139, 3, 2, 2, 2, 28, 153, 3, 2, 2, 2, 30, 155, 3, 2, 2, 2, 32, 182, 3, 2, 2, 2, 34, 184, 3, 2, 2, 2, 36, 190, 3, 2, 2, 2, 38, 195, 3, 2, 2, 2, 40, 197, 3, 2, 2, 2, 42, 199, 3, 2, 2, 2, 44, 203, 3, 2, 2, 2, 46, 48, 5, 4, 3, 2, 47, 46, 3, 2, 2, 2, 48, 49, 3, 2, 2, 2, 49, 47, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 3, 3, 2, 2, 2, 51, 52, 5, 6, 4, 2, 52, 53, 5, 10, 6, 2, 53, 5, 3, 2, 2, 2, 54, 55, 5, 34, 18, 2, 55, 56, 7, 44, 2, 2, 56, 57, 5, 8, 5, 2, 57, 7, 3, 2, 2, 2, 58, 59, 7, 3, 2, 2, 59, 60, 5, 12, 7, 2, 60, 61, 7, 4, 2, 2, 61, 9, 3, 2, 2, 2, 62, 66, 7, 5, 2, 2, 63, 65, 5, 14, 8, 2, 64, 63, 3, 2, 2, 2, 65, 68, 3, 2, 2, 2, 66, 64, 3, 2, 2, 2, 66, 67, 3, 2, 2, 2, 67, 69, 3, 2, 2, 2, 68, 66, 3, 2, 2, 2, 69, 71, 5, 20, 11, 2, 70, 72, 5, 26, 14, 2, 71, 70, 3, 2, 2, 2, 71, 72, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 74, 7, 6, 2, 2, 74, 11, 3, 2, 2, 2, 75, 80, 5, 18, 10, 2, 76, 77, 7, 7, 2, 2, 77, 79, 5, 18, 10, 2, 78, 76, 3, 2, 2, 2, 79, 82, 3, 2, 2, 2, 80, 78, 3, 2, 2, 2, 80, 81, 3, 2, 2, 2, 81, 85, 3, 2, 2, 2, 82, 80, 3, 2, 2, 2, 83, 85, 3, 2, 2, 2, 84, 75, 3, 2, 2, 2, 84, 83, 3, 2, 2, 2, 85, 13, 3, 2, 2, 2, 86, 87, 5, 16, 9, 2, 87, 88, 7, 8, 2, 2, 88, 15, 3, 2, 2, 2, 89, 94, 5, 18, 10, 2, 90, 91, 7, 7, 2, 2, 91, 93, 7, 44, 2, 2, 92, 90, 3, 2, 2, 2, 93, 96, 3, 2, 2, 2, 94, 92, 3, 2, 2, 2, 94, 95, 3, 2, 2, 2, 95, 17, 3, 2, 2, 2, 96, 94, 3, 2, 2, 2, 97, 98, 5, 34, 18, 2, 98, 99, 7, 44, 2, 2, 99, 19, 3, 2, 2, 2, 100, 102, 5, 24, 13, 2, 101, 100, 3, 2, 2, 2, 102, 105, 3, 2, 2, 2, 103, 101, 3, 2, 2, 2, 103, 104, 3, 2, 2, 2, 104, 21, 3, 2, 2, 2, 105, 103, 3, 2, 2, 2, 106, 107, 5, 32, 17, 2, 107, 108, 5, 44, 23, 2, 108, 109, 5, 32, 17, 2, 109, 23, 3, 2, 2, 2, 110, 111, 5, 28, 15, 2, 111, 112, 7, 8, 2, 2, 112, 138, 3, 2, 2, 2, 113, 114, 7, 9, 2, 2, 114, 115, 7, 3, 2, 2, 115, 116, 5, 28, 15, 2, 116, 117, 7, 8, 2, 2, 117, 118, 5, 22, 12, 2, 118, 119, 7, 8, 2, 2, 119, 120, 5, 28, 15, 2, 120, 121, 7, 4, 2, 2, 121, 122, 7, 5, 2, 2, 122, 123, 5, 20, 11, 2, 123, 124, 7, 6, 2, 2, 124, 138, 3, 2, 2, 2, 125, 126, 7, 10, 2, 2, 126, 127, 7, 3, 2, 2, 127, 128, 5, 22, 12, 2, 128, 129, 7, 4, 2, 2, 129, 130, 7, 5, 2, 2, 130, 131, 5, 20, 11, 2, 131, 132, 7, 6, 2, 2, 132, 133, 7, 11, 2, 2, 133, 134, 7, 5, 2, 2, 134, 135, 5, 20, 11, 2, 135, 136, 7, 6, 2, 2, 136, 138, 3, 2, 2, 2, 137, 110, 3, 2, 2, 2, 137, 113, 3, 2, 2, 2, 137, 125, 3, 2, 2, 2, 138, 25, 3, 2, 2, 2, 139, 140, 7, 12, 2, 2, 140, 141, 5, 30, 16, 2, 141, 142, 7, 8, 2, 2, 142, 27, 3, 2, 2, 2, 143, 144, 7, 44, 2, 2, 144, 145, 7, 13, 2, 2, 145, 154, 5, 30, 16, 2, 146, 147, 7, 44, 2, 2, 147, 148, 7, 14, 2, 2, 148, 149, 5, 30, 16, 2, 149, 150, 7, 15, 2, 2, 150, 151, 7, 13, 2, 2, 151, 152, 5, 30, 16, 2, 152, 154, 3, 2, 2, 2, 153, 143, 3, 2, 2, 2, 153, 146, 3, 2, 2, 2, 154, 29, 3, 2, 2, 2, 155, 156, 8, 16, 1, 2, 156, 157, 5, 32, 17, 2, 157, 172, 3, 2, 2, 2, 158, 159, 12, 7, 2, 2, 159, 160, 9, 2, 2, 2, 160, 171, 5, 30, 16, 8, 161, 162, 12, 6, 2, 2, 162, 163, 9, 3, 2, 2, 163, 171, 5, 30, 16, 7, 164, 165, 12, 5, 2, 2, 165, 166, 9, 4, 2, 2, 166, 171, 5, 30, 16, 6, 167, 168, 12, 4, 2, 2, 168, 169, 9, 5, 2, 2, 169, 171, 5, 30, 16, 5, 170, 158, 3, 2, 2, 2, 170, 161, 3, 2, 2, 2, 170, 164, 3, 2, 2, 2, 170, 167, 3, 2, 2, 2, 171, 174, 3, 2, 2, 2, 172, 170, 3, 2, 2, 2, 172, 173, 3, 2, 2, 2, 173, 31, 3, 2, 2, 2, 174, 172, 3, 2, 2, 2, 175, 176, 7, 44, 2, 2, 176, 177, 7, 14, 2, 2, 177, 178, 5, 30, 16, 2, 178, 179, 7, 15, 2, 2, 179, 183, 3, 2, 2, 2, 180, 183, 5, 38, 20, 2, 181, 183, 7, 44, 2, 2, 182, 175, 3, 2, 2, 2, 182, 180, 3, 2, 2, 2, 182, 181, 3, 2, 2, 2, 183, 33, 3, 2, 2, 2, 184, 185, 5, 42, 22, 2, 185, 186, 5, 36, 19, 2, 186, 187, 5, 36, 19, 2, 187, 35, 3, 2, 2, 2, 188, 191, 7, 42, 2, 2, 189, 191, 5, 40, 21, 2, 190, 188, 3, 2, 2, 2, 190, 189, 3, 2, 2, 2, 191, 37, 3, 2, 2, 2, 192, 196, 7, 42, 2, 2, 193, 196, 7, 41, 2, 2, 194, 196, 5, 40, 21, 2, 195, 192, 3, 2, 2, 2, 195, 193, 3, 2, 2, 2, 195, 194, 3, 2, 2, 2, 196, 39, 3, 2, 2, 2, 197, 198, 7, 45, 2, 2, 198, 41, 3, 2, 2, 2, 199, 201, 9, 6, 2, 2, 200, 202, 7, 34, 2, 2, 201, 200, 3, 2, 2, 2, 201, 202, 3, 2, 2, 2, 202, 43, 3, 2, 2, 2, 203, 204, 9, 7, 2, 2, 204, 45, 3, 2, 2, 2, 17, 49, 66, 71, 80, 84, 94, 103, 137, 153, 170, 172, 182, 190, 195, 201] \ No newline at end of file diff --git a/HybroLang/HybroLang.tokens b/HybroLang/HybroLang.tokens deleted file mode 100644 index 574a34a..0000000 --- a/HybroLang/HybroLang.tokens +++ /dev/null @@ -1,84 +0,0 @@ -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 -DecimalFloatingConstant=39 -IntegerConstant=40 -DecimalConstant=41 -Name=42 -INLINE=43 -WhiteSpace=44 -LineComment=45 -NewLine=46 -'('=1 -')'=2 -'{'=3 -'}'=4 -','=5 -';'=6 -'for'=7 -'if'=8 -'else'=9 -'return'=10 -'='=11 -'['=12 -']'=13 -'*'=14 -'/'=15 -'+'=16 -'-'=17 -'<<'=18 -'>>'=19 -'&'=20 -'|'=21 -'^'=22 -'int'=23 -'uint'=24 -'sint'=25 -'suint'=26 -'flt'=27 -'cpl'=28 -'pix'=29 -'ipv4'=30 -'ipv6'=31 -'[]'=32 -'=='=33 -'!='=34 -'<'=35 -'>'=36 -'<='=37 -'>='=38 diff --git a/HybroLang/HybroLangLexer.interp b/HybroLang/HybroLangLexer.interp deleted file mode 100644 index 49e7b7c..0000000 --- a/HybroLang/HybroLangLexer.interp +++ /dev/null @@ -1,162 +0,0 @@ -token literal names: -null -'(' -')' -'{' -'}' -',' -';' -'for' -'if' -'else' -'return' -'=' -'[' -']' -'*' -'/' -'+' -'-' -'<<' -'>>' -'&' -'|' -'^' -'int' -'uint' -'sint' -'suint' -'flt' -'cpl' -'pix' -'ipv4' -'ipv6' -'[]' -'==' -'!=' -'<' -'>' -'<=' -'>=' -null -null -null -null -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 -DecimalFloatingConstant -IntegerConstant -DecimalConstant -Name -INLINE -WhiteSpace -LineComment -NewLine - -rule names: -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 -T__21 -T__22 -T__23 -T__24 -T__25 -T__26 -T__27 -T__28 -T__29 -T__30 -T__31 -T__32 -T__33 -T__34 -T__35 -T__36 -T__37 -DecimalFloatingConstant -ExponentPart -FloatingSuffix -FractionalConstant -IntegerConstant -DecimalConstant -DigitSequence -Digit -NonzeroDigit -Sign -Name -INLINE -WhiteSpace -LineComment -NewLine - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN - -mode names: -DEFAULT_MODE - -atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 48, 322, 8, 1, 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, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 5, 40, 230, 10, 40, 3, 40, 5, 40, 233, 10, 40, 3, 41, 3, 41, 5, 41, 237, 10, 41, 3, 41, 3, 41, 3, 41, 5, 41, 242, 10, 41, 3, 41, 5, 41, 245, 10, 41, 3, 42, 3, 42, 3, 43, 5, 43, 250, 10, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 257, 10, 43, 3, 44, 3, 44, 3, 45, 3, 45, 7, 45, 263, 10, 45, 12, 45, 14, 45, 266, 11, 45, 3, 46, 6, 46, 269, 10, 46, 13, 46, 14, 46, 270, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 7, 50, 281, 10, 50, 12, 50, 14, 50, 284, 11, 50, 3, 51, 3, 51, 3, 51, 3, 51, 6, 51, 290, 10, 51, 13, 51, 14, 51, 291, 3, 51, 3, 51, 3, 52, 6, 52, 297, 10, 52, 13, 52, 14, 52, 298, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 7, 53, 307, 10, 53, 12, 53, 14, 53, 310, 11, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 5, 54, 317, 10, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 308, 2, 55, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 2, 83, 2, 85, 2, 87, 42, 89, 43, 91, 2, 93, 2, 95, 2, 97, 2, 99, 44, 101, 45, 103, 46, 105, 47, 107, 48, 3, 2, 10, 6, 2, 72, 72, 78, 78, 104, 104, 110, 110, 3, 2, 50, 59, 3, 2, 51, 59, 4, 2, 45, 45, 47, 47, 4, 2, 67, 92, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 3, 2, 43, 43, 4, 2, 11, 11, 34, 34, 2, 328, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 3, 109, 3, 2, 2, 2, 5, 111, 3, 2, 2, 2, 7, 113, 3, 2, 2, 2, 9, 115, 3, 2, 2, 2, 11, 117, 3, 2, 2, 2, 13, 119, 3, 2, 2, 2, 15, 121, 3, 2, 2, 2, 17, 125, 3, 2, 2, 2, 19, 128, 3, 2, 2, 2, 21, 133, 3, 2, 2, 2, 23, 140, 3, 2, 2, 2, 25, 142, 3, 2, 2, 2, 27, 144, 3, 2, 2, 2, 29, 146, 3, 2, 2, 2, 31, 148, 3, 2, 2, 2, 33, 150, 3, 2, 2, 2, 35, 152, 3, 2, 2, 2, 37, 154, 3, 2, 2, 2, 39, 157, 3, 2, 2, 2, 41, 160, 3, 2, 2, 2, 43, 162, 3, 2, 2, 2, 45, 164, 3, 2, 2, 2, 47, 166, 3, 2, 2, 2, 49, 170, 3, 2, 2, 2, 51, 175, 3, 2, 2, 2, 53, 180, 3, 2, 2, 2, 55, 186, 3, 2, 2, 2, 57, 190, 3, 2, 2, 2, 59, 194, 3, 2, 2, 2, 61, 198, 3, 2, 2, 2, 63, 203, 3, 2, 2, 2, 65, 208, 3, 2, 2, 2, 67, 211, 3, 2, 2, 2, 69, 214, 3, 2, 2, 2, 71, 217, 3, 2, 2, 2, 73, 219, 3, 2, 2, 2, 75, 221, 3, 2, 2, 2, 77, 224, 3, 2, 2, 2, 79, 227, 3, 2, 2, 2, 81, 244, 3, 2, 2, 2, 83, 246, 3, 2, 2, 2, 85, 256, 3, 2, 2, 2, 87, 258, 3, 2, 2, 2, 89, 260, 3, 2, 2, 2, 91, 268, 3, 2, 2, 2, 93, 272, 3, 2, 2, 2, 95, 274, 3, 2, 2, 2, 97, 276, 3, 2, 2, 2, 99, 278, 3, 2, 2, 2, 101, 285, 3, 2, 2, 2, 103, 296, 3, 2, 2, 2, 105, 302, 3, 2, 2, 2, 107, 316, 3, 2, 2, 2, 109, 110, 7, 42, 2, 2, 110, 4, 3, 2, 2, 2, 111, 112, 7, 43, 2, 2, 112, 6, 3, 2, 2, 2, 113, 114, 7, 125, 2, 2, 114, 8, 3, 2, 2, 2, 115, 116, 7, 127, 2, 2, 116, 10, 3, 2, 2, 2, 117, 118, 7, 46, 2, 2, 118, 12, 3, 2, 2, 2, 119, 120, 7, 61, 2, 2, 120, 14, 3, 2, 2, 2, 121, 122, 7, 104, 2, 2, 122, 123, 7, 113, 2, 2, 123, 124, 7, 116, 2, 2, 124, 16, 3, 2, 2, 2, 125, 126, 7, 107, 2, 2, 126, 127, 7, 104, 2, 2, 127, 18, 3, 2, 2, 2, 128, 129, 7, 103, 2, 2, 129, 130, 7, 110, 2, 2, 130, 131, 7, 117, 2, 2, 131, 132, 7, 103, 2, 2, 132, 20, 3, 2, 2, 2, 133, 134, 7, 116, 2, 2, 134, 135, 7, 103, 2, 2, 135, 136, 7, 118, 2, 2, 136, 137, 7, 119, 2, 2, 137, 138, 7, 116, 2, 2, 138, 139, 7, 112, 2, 2, 139, 22, 3, 2, 2, 2, 140, 141, 7, 63, 2, 2, 141, 24, 3, 2, 2, 2, 142, 143, 7, 93, 2, 2, 143, 26, 3, 2, 2, 2, 144, 145, 7, 95, 2, 2, 145, 28, 3, 2, 2, 2, 146, 147, 7, 44, 2, 2, 147, 30, 3, 2, 2, 2, 148, 149, 7, 49, 2, 2, 149, 32, 3, 2, 2, 2, 150, 151, 7, 45, 2, 2, 151, 34, 3, 2, 2, 2, 152, 153, 7, 47, 2, 2, 153, 36, 3, 2, 2, 2, 154, 155, 7, 62, 2, 2, 155, 156, 7, 62, 2, 2, 156, 38, 3, 2, 2, 2, 157, 158, 7, 64, 2, 2, 158, 159, 7, 64, 2, 2, 159, 40, 3, 2, 2, 2, 160, 161, 7, 40, 2, 2, 161, 42, 3, 2, 2, 2, 162, 163, 7, 126, 2, 2, 163, 44, 3, 2, 2, 2, 164, 165, 7, 96, 2, 2, 165, 46, 3, 2, 2, 2, 166, 167, 7, 107, 2, 2, 167, 168, 7, 112, 2, 2, 168, 169, 7, 118, 2, 2, 169, 48, 3, 2, 2, 2, 170, 171, 7, 119, 2, 2, 171, 172, 7, 107, 2, 2, 172, 173, 7, 112, 2, 2, 173, 174, 7, 118, 2, 2, 174, 50, 3, 2, 2, 2, 175, 176, 7, 117, 2, 2, 176, 177, 7, 107, 2, 2, 177, 178, 7, 112, 2, 2, 178, 179, 7, 118, 2, 2, 179, 52, 3, 2, 2, 2, 180, 181, 7, 117, 2, 2, 181, 182, 7, 119, 2, 2, 182, 183, 7, 107, 2, 2, 183, 184, 7, 112, 2, 2, 184, 185, 7, 118, 2, 2, 185, 54, 3, 2, 2, 2, 186, 187, 7, 104, 2, 2, 187, 188, 7, 110, 2, 2, 188, 189, 7, 118, 2, 2, 189, 56, 3, 2, 2, 2, 190, 191, 7, 101, 2, 2, 191, 192, 7, 114, 2, 2, 192, 193, 7, 110, 2, 2, 193, 58, 3, 2, 2, 2, 194, 195, 7, 114, 2, 2, 195, 196, 7, 107, 2, 2, 196, 197, 7, 122, 2, 2, 197, 60, 3, 2, 2, 2, 198, 199, 7, 107, 2, 2, 199, 200, 7, 114, 2, 2, 200, 201, 7, 120, 2, 2, 201, 202, 7, 54, 2, 2, 202, 62, 3, 2, 2, 2, 203, 204, 7, 107, 2, 2, 204, 205, 7, 114, 2, 2, 205, 206, 7, 120, 2, 2, 206, 207, 7, 56, 2, 2, 207, 64, 3, 2, 2, 2, 208, 209, 7, 93, 2, 2, 209, 210, 7, 95, 2, 2, 210, 66, 3, 2, 2, 2, 211, 212, 7, 63, 2, 2, 212, 213, 7, 63, 2, 2, 213, 68, 3, 2, 2, 2, 214, 215, 7, 35, 2, 2, 215, 216, 7, 63, 2, 2, 216, 70, 3, 2, 2, 2, 217, 218, 7, 62, 2, 2, 218, 72, 3, 2, 2, 2, 219, 220, 7, 64, 2, 2, 220, 74, 3, 2, 2, 2, 221, 222, 7, 62, 2, 2, 222, 223, 7, 63, 2, 2, 223, 76, 3, 2, 2, 2, 224, 225, 7, 64, 2, 2, 225, 226, 7, 63, 2, 2, 226, 78, 3, 2, 2, 2, 227, 229, 5, 85, 43, 2, 228, 230, 5, 81, 41, 2, 229, 228, 3, 2, 2, 2, 229, 230, 3, 2, 2, 2, 230, 232, 3, 2, 2, 2, 231, 233, 5, 83, 42, 2, 232, 231, 3, 2, 2, 2, 232, 233, 3, 2, 2, 2, 233, 80, 3, 2, 2, 2, 234, 236, 7, 103, 2, 2, 235, 237, 5, 97, 49, 2, 236, 235, 3, 2, 2, 2, 236, 237, 3, 2, 2, 2, 237, 238, 3, 2, 2, 2, 238, 245, 5, 91, 46, 2, 239, 241, 7, 71, 2, 2, 240, 242, 5, 97, 49, 2, 241, 240, 3, 2, 2, 2, 241, 242, 3, 2, 2, 2, 242, 243, 3, 2, 2, 2, 243, 245, 5, 91, 46, 2, 244, 234, 3, 2, 2, 2, 244, 239, 3, 2, 2, 2, 245, 82, 3, 2, 2, 2, 246, 247, 9, 2, 2, 2, 247, 84, 3, 2, 2, 2, 248, 250, 5, 91, 46, 2, 249, 248, 3, 2, 2, 2, 249, 250, 3, 2, 2, 2, 250, 251, 3, 2, 2, 2, 251, 252, 7, 48, 2, 2, 252, 257, 5, 91, 46, 2, 253, 254, 5, 91, 46, 2, 254, 255, 7, 48, 2, 2, 255, 257, 3, 2, 2, 2, 256, 249, 3, 2, 2, 2, 256, 253, 3, 2, 2, 2, 257, 86, 3, 2, 2, 2, 258, 259, 5, 91, 46, 2, 259, 88, 3, 2, 2, 2, 260, 264, 5, 95, 48, 2, 261, 263, 5, 93, 47, 2, 262, 261, 3, 2, 2, 2, 263, 266, 3, 2, 2, 2, 264, 262, 3, 2, 2, 2, 264, 265, 3, 2, 2, 2, 265, 90, 3, 2, 2, 2, 266, 264, 3, 2, 2, 2, 267, 269, 5, 93, 47, 2, 268, 267, 3, 2, 2, 2, 269, 270, 3, 2, 2, 2, 270, 268, 3, 2, 2, 2, 270, 271, 3, 2, 2, 2, 271, 92, 3, 2, 2, 2, 272, 273, 9, 3, 2, 2, 273, 94, 3, 2, 2, 2, 274, 275, 9, 4, 2, 2, 275, 96, 3, 2, 2, 2, 276, 277, 9, 5, 2, 2, 277, 98, 3, 2, 2, 2, 278, 282, 9, 6, 2, 2, 279, 281, 9, 7, 2, 2, 280, 279, 3, 2, 2, 2, 281, 284, 3, 2, 2, 2, 282, 280, 3, 2, 2, 2, 282, 283, 3, 2, 2, 2, 283, 100, 3, 2, 2, 2, 284, 282, 3, 2, 2, 2, 285, 286, 7, 37, 2, 2, 286, 287, 7, 42, 2, 2, 287, 289, 3, 2, 2, 2, 288, 290, 10, 8, 2, 2, 289, 288, 3, 2, 2, 2, 290, 291, 3, 2, 2, 2, 291, 289, 3, 2, 2, 2, 291, 292, 3, 2, 2, 2, 292, 293, 3, 2, 2, 2, 293, 294, 7, 43, 2, 2, 294, 102, 3, 2, 2, 2, 295, 297, 9, 9, 2, 2, 296, 295, 3, 2, 2, 2, 297, 298, 3, 2, 2, 2, 298, 296, 3, 2, 2, 2, 298, 299, 3, 2, 2, 2, 299, 300, 3, 2, 2, 2, 300, 301, 8, 52, 2, 2, 301, 104, 3, 2, 2, 2, 302, 303, 7, 49, 2, 2, 303, 304, 7, 49, 2, 2, 304, 308, 3, 2, 2, 2, 305, 307, 11, 2, 2, 2, 306, 305, 3, 2, 2, 2, 307, 310, 3, 2, 2, 2, 308, 309, 3, 2, 2, 2, 308, 306, 3, 2, 2, 2, 309, 311, 3, 2, 2, 2, 310, 308, 3, 2, 2, 2, 311, 312, 5, 107, 54, 2, 312, 313, 3, 2, 2, 2, 313, 314, 8, 53, 2, 2, 314, 106, 3, 2, 2, 2, 315, 317, 7, 15, 2, 2, 316, 315, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 7, 12, 2, 2, 319, 320, 3, 2, 2, 2, 320, 321, 8, 54, 2, 2, 321, 108, 3, 2, 2, 2, 17, 2, 229, 232, 236, 241, 244, 249, 256, 264, 270, 282, 291, 298, 308, 316, 3, 8, 2, 2] \ No newline at end of file diff --git a/HybroLang/HybroLangLexer.py b/HybroLang/HybroLangLexer.py deleted file mode 100644 index 8b31056..0000000 --- a/HybroLang/HybroLangLexer.py +++ /dev/null @@ -1,237 +0,0 @@ -# Generated from HybroLang.g4 by ANTLR 4.7.2 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\60") - buf.write("\u0142\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7") - buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r") - buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23") - buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30") - buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36") - buf.write("\t\36\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%") - buf.write("\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.") - buf.write("\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64") - buf.write("\t\64\4\65\t\65\4\66\t\66\3\2\3\2\3\3\3\3\3\4\3\4\3\5") - buf.write("\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3") - buf.write("\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\f") - buf.write("\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3") - buf.write("\22\3\22\3\23\3\23\3\23\3\24\3\24\3\24\3\25\3\25\3\26") - buf.write("\3\26\3\27\3\27\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\31") - buf.write("\3\31\3\32\3\32\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3\33") - buf.write("\3\33\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\36\3\36") - buf.write("\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3 \3!") - buf.write("\3!\3!\3\"\3\"\3\"\3#\3#\3#\3$\3$\3%\3%\3&\3&\3&\3\'\3") - buf.write("\'\3\'\3(\3(\5(\u00e6\n(\3(\5(\u00e9\n(\3)\3)\5)\u00ed") - buf.write("\n)\3)\3)\3)\5)\u00f2\n)\3)\5)\u00f5\n)\3*\3*\3+\5+\u00fa") - buf.write("\n+\3+\3+\3+\3+\3+\5+\u0101\n+\3,\3,\3-\3-\7-\u0107\n") - buf.write("-\f-\16-\u010a\13-\3.\6.\u010d\n.\r.\16.\u010e\3/\3/\3") - buf.write("\60\3\60\3\61\3\61\3\62\3\62\7\62\u0119\n\62\f\62\16\62") - buf.write("\u011c\13\62\3\63\3\63\3\63\3\63\6\63\u0122\n\63\r\63") - buf.write("\16\63\u0123\3\63\3\63\3\64\6\64\u0129\n\64\r\64\16\64") - buf.write("\u012a\3\64\3\64\3\65\3\65\3\65\3\65\7\65\u0133\n\65\f") - buf.write("\65\16\65\u0136\13\65\3\65\3\65\3\65\3\65\3\66\5\66\u013d") - buf.write("\n\66\3\66\3\66\3\66\3\66\3\u0134\2\67\3\3\5\4\7\5\t\6") - buf.write("\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20") - buf.write("\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65") - buf.write("\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q\2S\2U\2W*Y+[") - buf.write("\2]\2_\2a\2c,e-g.i/k\60\3\2\n\6\2HHNNhhnn\3\2\62;\3\2") - buf.write("\63;\4\2--//\4\2C\\c|\6\2\62;C\\aac|\3\2++\4\2\13\13\"") - buf.write("\"\2\u0148\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2") - buf.write("\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2") - buf.write("\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2") - buf.write("\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#") - buf.write("\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2") - buf.write("\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65") - buf.write("\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2") - buf.write("\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2") - buf.write("\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2W\3\2") - buf.write("\2\2\2Y\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3") - buf.write("\2\2\2\2k\3\2\2\2\3m\3\2\2\2\5o\3\2\2\2\7q\3\2\2\2\ts") - buf.write("\3\2\2\2\13u\3\2\2\2\rw\3\2\2\2\17y\3\2\2\2\21}\3\2\2") - buf.write("\2\23\u0080\3\2\2\2\25\u0085\3\2\2\2\27\u008c\3\2\2\2") - buf.write("\31\u008e\3\2\2\2\33\u0090\3\2\2\2\35\u0092\3\2\2\2\37") - buf.write("\u0094\3\2\2\2!\u0096\3\2\2\2#\u0098\3\2\2\2%\u009a\3") - buf.write("\2\2\2\'\u009d\3\2\2\2)\u00a0\3\2\2\2+\u00a2\3\2\2\2-") - buf.write("\u00a4\3\2\2\2/\u00a6\3\2\2\2\61\u00aa\3\2\2\2\63\u00af") - buf.write("\3\2\2\2\65\u00b4\3\2\2\2\67\u00ba\3\2\2\29\u00be\3\2") - buf.write("\2\2;\u00c2\3\2\2\2=\u00c6\3\2\2\2?\u00cb\3\2\2\2A\u00d0") - buf.write("\3\2\2\2C\u00d3\3\2\2\2E\u00d6\3\2\2\2G\u00d9\3\2\2\2") - buf.write("I\u00db\3\2\2\2K\u00dd\3\2\2\2M\u00e0\3\2\2\2O\u00e3\3") - buf.write("\2\2\2Q\u00f4\3\2\2\2S\u00f6\3\2\2\2U\u0100\3\2\2\2W\u0102") - buf.write("\3\2\2\2Y\u0104\3\2\2\2[\u010c\3\2\2\2]\u0110\3\2\2\2") - buf.write("_\u0112\3\2\2\2a\u0114\3\2\2\2c\u0116\3\2\2\2e\u011d\3") - buf.write("\2\2\2g\u0128\3\2\2\2i\u012e\3\2\2\2k\u013c\3\2\2\2mn") - buf.write("\7*\2\2n\4\3\2\2\2op\7+\2\2p\6\3\2\2\2qr\7}\2\2r\b\3\2") - buf.write("\2\2st\7\177\2\2t\n\3\2\2\2uv\7.\2\2v\f\3\2\2\2wx\7=\2") - buf.write("\2x\16\3\2\2\2yz\7h\2\2z{\7q\2\2{|\7t\2\2|\20\3\2\2\2") - buf.write("}~\7k\2\2~\177\7h\2\2\177\22\3\2\2\2\u0080\u0081\7g\2") - buf.write("\2\u0081\u0082\7n\2\2\u0082\u0083\7u\2\2\u0083\u0084\7") - buf.write("g\2\2\u0084\24\3\2\2\2\u0085\u0086\7t\2\2\u0086\u0087") - buf.write("\7g\2\2\u0087\u0088\7v\2\2\u0088\u0089\7w\2\2\u0089\u008a") - buf.write("\7t\2\2\u008a\u008b\7p\2\2\u008b\26\3\2\2\2\u008c\u008d") - buf.write("\7?\2\2\u008d\30\3\2\2\2\u008e\u008f\7]\2\2\u008f\32\3") - buf.write("\2\2\2\u0090\u0091\7_\2\2\u0091\34\3\2\2\2\u0092\u0093") - buf.write("\7,\2\2\u0093\36\3\2\2\2\u0094\u0095\7\61\2\2\u0095 \3") - buf.write("\2\2\2\u0096\u0097\7-\2\2\u0097\"\3\2\2\2\u0098\u0099") - buf.write("\7/\2\2\u0099$\3\2\2\2\u009a\u009b\7>\2\2\u009b\u009c") - buf.write("\7>\2\2\u009c&\3\2\2\2\u009d\u009e\7@\2\2\u009e\u009f") - buf.write("\7@\2\2\u009f(\3\2\2\2\u00a0\u00a1\7(\2\2\u00a1*\3\2\2") - buf.write("\2\u00a2\u00a3\7~\2\2\u00a3,\3\2\2\2\u00a4\u00a5\7`\2") - buf.write("\2\u00a5.\3\2\2\2\u00a6\u00a7\7k\2\2\u00a7\u00a8\7p\2") - buf.write("\2\u00a8\u00a9\7v\2\2\u00a9\60\3\2\2\2\u00aa\u00ab\7w") - buf.write("\2\2\u00ab\u00ac\7k\2\2\u00ac\u00ad\7p\2\2\u00ad\u00ae") - buf.write("\7v\2\2\u00ae\62\3\2\2\2\u00af\u00b0\7u\2\2\u00b0\u00b1") - buf.write("\7k\2\2\u00b1\u00b2\7p\2\2\u00b2\u00b3\7v\2\2\u00b3\64") - buf.write("\3\2\2\2\u00b4\u00b5\7u\2\2\u00b5\u00b6\7w\2\2\u00b6\u00b7") - buf.write("\7k\2\2\u00b7\u00b8\7p\2\2\u00b8\u00b9\7v\2\2\u00b9\66") - buf.write("\3\2\2\2\u00ba\u00bb\7h\2\2\u00bb\u00bc\7n\2\2\u00bc\u00bd") - buf.write("\7v\2\2\u00bd8\3\2\2\2\u00be\u00bf\7e\2\2\u00bf\u00c0") - buf.write("\7r\2\2\u00c0\u00c1\7n\2\2\u00c1:\3\2\2\2\u00c2\u00c3") - buf.write("\7r\2\2\u00c3\u00c4\7k\2\2\u00c4\u00c5\7z\2\2\u00c5<\3") - buf.write("\2\2\2\u00c6\u00c7\7k\2\2\u00c7\u00c8\7r\2\2\u00c8\u00c9") - buf.write("\7x\2\2\u00c9\u00ca\7\66\2\2\u00ca>\3\2\2\2\u00cb\u00cc") - buf.write("\7k\2\2\u00cc\u00cd\7r\2\2\u00cd\u00ce\7x\2\2\u00ce\u00cf") - buf.write("\78\2\2\u00cf@\3\2\2\2\u00d0\u00d1\7]\2\2\u00d1\u00d2") - buf.write("\7_\2\2\u00d2B\3\2\2\2\u00d3\u00d4\7?\2\2\u00d4\u00d5") - buf.write("\7?\2\2\u00d5D\3\2\2\2\u00d6\u00d7\7#\2\2\u00d7\u00d8") - buf.write("\7?\2\2\u00d8F\3\2\2\2\u00d9\u00da\7>\2\2\u00daH\3\2\2") - buf.write("\2\u00db\u00dc\7@\2\2\u00dcJ\3\2\2\2\u00dd\u00de\7>\2") - buf.write("\2\u00de\u00df\7?\2\2\u00dfL\3\2\2\2\u00e0\u00e1\7@\2") - buf.write("\2\u00e1\u00e2\7?\2\2\u00e2N\3\2\2\2\u00e3\u00e5\5U+\2") - buf.write("\u00e4\u00e6\5Q)\2\u00e5\u00e4\3\2\2\2\u00e5\u00e6\3\2") - buf.write("\2\2\u00e6\u00e8\3\2\2\2\u00e7\u00e9\5S*\2\u00e8\u00e7") - buf.write("\3\2\2\2\u00e8\u00e9\3\2\2\2\u00e9P\3\2\2\2\u00ea\u00ec") - buf.write("\7g\2\2\u00eb\u00ed\5a\61\2\u00ec\u00eb\3\2\2\2\u00ec") - buf.write("\u00ed\3\2\2\2\u00ed\u00ee\3\2\2\2\u00ee\u00f5\5[.\2\u00ef") - buf.write("\u00f1\7G\2\2\u00f0\u00f2\5a\61\2\u00f1\u00f0\3\2\2\2") - buf.write("\u00f1\u00f2\3\2\2\2\u00f2\u00f3\3\2\2\2\u00f3\u00f5\5") - buf.write("[.\2\u00f4\u00ea\3\2\2\2\u00f4\u00ef\3\2\2\2\u00f5R\3") - buf.write("\2\2\2\u00f6\u00f7\t\2\2\2\u00f7T\3\2\2\2\u00f8\u00fa") - buf.write("\5[.\2\u00f9\u00f8\3\2\2\2\u00f9\u00fa\3\2\2\2\u00fa\u00fb") - buf.write("\3\2\2\2\u00fb\u00fc\7\60\2\2\u00fc\u0101\5[.\2\u00fd") - buf.write("\u00fe\5[.\2\u00fe\u00ff\7\60\2\2\u00ff\u0101\3\2\2\2") - buf.write("\u0100\u00f9\3\2\2\2\u0100\u00fd\3\2\2\2\u0101V\3\2\2") - buf.write("\2\u0102\u0103\5[.\2\u0103X\3\2\2\2\u0104\u0108\5_\60") - buf.write("\2\u0105\u0107\5]/\2\u0106\u0105\3\2\2\2\u0107\u010a\3") - buf.write("\2\2\2\u0108\u0106\3\2\2\2\u0108\u0109\3\2\2\2\u0109Z") - buf.write("\3\2\2\2\u010a\u0108\3\2\2\2\u010b\u010d\5]/\2\u010c\u010b") - buf.write("\3\2\2\2\u010d\u010e\3\2\2\2\u010e\u010c\3\2\2\2\u010e") - buf.write("\u010f\3\2\2\2\u010f\\\3\2\2\2\u0110\u0111\t\3\2\2\u0111") - buf.write("^\3\2\2\2\u0112\u0113\t\4\2\2\u0113`\3\2\2\2\u0114\u0115") - buf.write("\t\5\2\2\u0115b\3\2\2\2\u0116\u011a\t\6\2\2\u0117\u0119") - buf.write("\t\7\2\2\u0118\u0117\3\2\2\2\u0119\u011c\3\2\2\2\u011a") - buf.write("\u0118\3\2\2\2\u011a\u011b\3\2\2\2\u011bd\3\2\2\2\u011c") - buf.write("\u011a\3\2\2\2\u011d\u011e\7%\2\2\u011e\u011f\7*\2\2\u011f") - buf.write("\u0121\3\2\2\2\u0120\u0122\n\b\2\2\u0121\u0120\3\2\2\2") - buf.write("\u0122\u0123\3\2\2\2\u0123\u0121\3\2\2\2\u0123\u0124\3") - buf.write("\2\2\2\u0124\u0125\3\2\2\2\u0125\u0126\7+\2\2\u0126f\3") - buf.write("\2\2\2\u0127\u0129\t\t\2\2\u0128\u0127\3\2\2\2\u0129\u012a") - buf.write("\3\2\2\2\u012a\u0128\3\2\2\2\u012a\u012b\3\2\2\2\u012b") - buf.write("\u012c\3\2\2\2\u012c\u012d\b\64\2\2\u012dh\3\2\2\2\u012e") - buf.write("\u012f\7\61\2\2\u012f\u0130\7\61\2\2\u0130\u0134\3\2\2") - buf.write("\2\u0131\u0133\13\2\2\2\u0132\u0131\3\2\2\2\u0133\u0136") - buf.write("\3\2\2\2\u0134\u0135\3\2\2\2\u0134\u0132\3\2\2\2\u0135") - buf.write("\u0137\3\2\2\2\u0136\u0134\3\2\2\2\u0137\u0138\5k\66\2") - buf.write("\u0138\u0139\3\2\2\2\u0139\u013a\b\65\2\2\u013aj\3\2\2") - buf.write("\2\u013b\u013d\7\17\2\2\u013c\u013b\3\2\2\2\u013c\u013d") - buf.write("\3\2\2\2\u013d\u013e\3\2\2\2\u013e\u013f\7\f\2\2\u013f") - buf.write("\u0140\3\2\2\2\u0140\u0141\b\66\2\2\u0141l\3\2\2\2\21") - buf.write("\2\u00e5\u00e8\u00ec\u00f1\u00f4\u00f9\u0100\u0108\u010e") - buf.write("\u011a\u0123\u012a\u0134\u013c\3\b\2\2") - return buf.getvalue() - - -class HybroLangLexer(Lexer): - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - 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 - DecimalFloatingConstant = 39 - IntegerConstant = 40 - DecimalConstant = 41 - Name = 42 - INLINE = 43 - WhiteSpace = 44 - LineComment = 45 - NewLine = 46 - - channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ] - - modeNames = [ "DEFAULT_MODE" ] - - literalNames = [ "", - "'('", "')'", "'{'", "'}'", "','", "';'", "'for'", "'if'", "'else'", - "'return'", "'='", "'['", "']'", "'*'", "'/'", "'+'", "'-'", - "'<<'", "'>>'", "'&'", "'|'", "'^'", "'int'", "'uint'", "'sint'", - "'suint'", "'flt'", "'cpl'", "'pix'", "'ipv4'", "'ipv6'", "'[]'", - "'=='", "'!='", "'<'", "'>'", "'<='", "'>='" ] - - symbolicNames = [ "", - "DecimalFloatingConstant", "IntegerConstant", "DecimalConstant", - "Name", "INLINE", "WhiteSpace", "LineComment", "NewLine" ] - - 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", "T__21", "T__22", "T__23", "T__24", "T__25", - "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", - "T__32", "T__33", "T__34", "T__35", "T__36", "T__37", - "DecimalFloatingConstant", "ExponentPart", "FloatingSuffix", - "FractionalConstant", "IntegerConstant", "DecimalConstant", - "DigitSequence", "Digit", "NonzeroDigit", "Sign", "Name", - "INLINE", "WhiteSpace", "LineComment", "NewLine" ] - - grammarFileName = "HybroLang.g4" - - def __init__(self, input=None, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache()) - self._actions = None - self._predicates = None - - diff --git a/HybroLang/HybroLangLexer.tokens b/HybroLang/HybroLangLexer.tokens deleted file mode 100644 index 574a34a..0000000 --- a/HybroLang/HybroLangLexer.tokens +++ /dev/null @@ -1,84 +0,0 @@ -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 -DecimalFloatingConstant=39 -IntegerConstant=40 -DecimalConstant=41 -Name=42 -INLINE=43 -WhiteSpace=44 -LineComment=45 -NewLine=46 -'('=1 -')'=2 -'{'=3 -'}'=4 -','=5 -';'=6 -'for'=7 -'if'=8 -'else'=9 -'return'=10 -'='=11 -'['=12 -']'=13 -'*'=14 -'/'=15 -'+'=16 -'-'=17 -'<<'=18 -'>>'=19 -'&'=20 -'|'=21 -'^'=22 -'int'=23 -'uint'=24 -'sint'=25 -'suint'=26 -'flt'=27 -'cpl'=28 -'pix'=29 -'ipv4'=30 -'ipv6'=31 -'[]'=32 -'=='=33 -'!='=34 -'<'=35 -'>'=36 -'<='=37 -'>='=38 diff --git a/HybroLang/HybroLangParser.py b/HybroLang/HybroLangParser.py deleted file mode 100644 index 253634d..0000000 --- a/HybroLang/HybroLangParser.py +++ /dev/null @@ -1,1577 +0,0 @@ -# Generated from HybroLang.g4 by ANTLR 4.7.2 -# encoding: utf-8 -from antlr4 import * -from io import StringIO -from typing.io import TextIO -import sys - -def serializedATN(): - with StringIO() as buf: - buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\60") - buf.write("\u00ce\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") - buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") - buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") - buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\3\2\6\2\60\n") - buf.write("\2\r\2\16\2\61\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\5\3\5\3\5") - buf.write("\3\5\3\6\3\6\7\6A\n\6\f\6\16\6D\13\6\3\6\3\6\5\6H\n\6") - buf.write("\3\6\3\6\3\7\3\7\3\7\7\7O\n\7\f\7\16\7R\13\7\3\7\5\7U") - buf.write("\n\7\3\b\3\b\3\b\3\t\3\t\3\t\7\t]\n\t\f\t\16\t`\13\t\3") - buf.write("\n\3\n\3\n\3\13\7\13f\n\13\f\13\16\13i\13\13\3\f\3\f\3") - buf.write("\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r") - buf.write("\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3") - buf.write("\r\3\r\5\r\u008a\n\r\3\16\3\16\3\16\3\16\3\17\3\17\3\17") - buf.write("\3\17\3\17\3\17\3\17\3\17\3\17\3\17\5\17\u009a\n\17\3") - buf.write("\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20") - buf.write("\3\20\3\20\3\20\3\20\7\20\u00ab\n\20\f\20\16\20\u00ae") - buf.write("\13\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u00b7\n") - buf.write("\21\3\22\3\22\3\22\3\22\3\23\3\23\5\23\u00bf\n\23\3\24") - buf.write("\3\24\3\24\5\24\u00c4\n\24\3\25\3\25\3\26\3\26\5\26\u00ca") - buf.write("\n\26\3\27\3\27\3\27\2\3\36\30\2\4\6\b\n\f\16\20\22\24") - buf.write("\26\30\32\34\36 \"$&(*,\2\b\3\2\20\21\3\2\22\23\3\2\24") - buf.write("\25\3\2\26\30\3\2\31!\3\2#(\2\u00cb\2/\3\2\2\2\4\63\3") - buf.write("\2\2\2\6\66\3\2\2\2\b:\3\2\2\2\n>\3\2\2\2\fT\3\2\2\2\16") - buf.write("V\3\2\2\2\20Y\3\2\2\2\22a\3\2\2\2\24g\3\2\2\2\26j\3\2") - buf.write("\2\2\30\u0089\3\2\2\2\32\u008b\3\2\2\2\34\u0099\3\2\2") - buf.write("\2\36\u009b\3\2\2\2 \u00b6\3\2\2\2\"\u00b8\3\2\2\2$\u00be") - buf.write("\3\2\2\2&\u00c3\3\2\2\2(\u00c5\3\2\2\2*\u00c7\3\2\2\2") - buf.write(",\u00cb\3\2\2\2.\60\5\4\3\2/.\3\2\2\2\60\61\3\2\2\2\61") - buf.write("/\3\2\2\2\61\62\3\2\2\2\62\3\3\2\2\2\63\64\5\6\4\2\64") - buf.write("\65\5\n\6\2\65\5\3\2\2\2\66\67\5\"\22\2\678\7,\2\289\5") - buf.write("\b\5\29\7\3\2\2\2:;\7\3\2\2;<\5\f\7\2<=\7\4\2\2=\t\3\2") - buf.write("\2\2>B\7\5\2\2?A\5\16\b\2@?\3\2\2\2AD\3\2\2\2B@\3\2\2") - buf.write("\2BC\3\2\2\2CE\3\2\2\2DB\3\2\2\2EG\5\24\13\2FH\5\32\16") - buf.write("\2GF\3\2\2\2GH\3\2\2\2HI\3\2\2\2IJ\7\6\2\2J\13\3\2\2\2") - buf.write("KP\5\22\n\2LM\7\7\2\2MO\5\22\n\2NL\3\2\2\2OR\3\2\2\2P") - buf.write("N\3\2\2\2PQ\3\2\2\2QU\3\2\2\2RP\3\2\2\2SU\3\2\2\2TK\3") - buf.write("\2\2\2TS\3\2\2\2U\r\3\2\2\2VW\5\20\t\2WX\7\b\2\2X\17\3") - buf.write("\2\2\2Y^\5\22\n\2Z[\7\7\2\2[]\7,\2\2\\Z\3\2\2\2]`\3\2") - buf.write("\2\2^\\\3\2\2\2^_\3\2\2\2_\21\3\2\2\2`^\3\2\2\2ab\5\"") - buf.write("\22\2bc\7,\2\2c\23\3\2\2\2df\5\30\r\2ed\3\2\2\2fi\3\2") - buf.write("\2\2ge\3\2\2\2gh\3\2\2\2h\25\3\2\2\2ig\3\2\2\2jk\5 \21") - buf.write("\2kl\5,\27\2lm\5 \21\2m\27\3\2\2\2no\5\34\17\2op\7\b\2") - buf.write("\2p\u008a\3\2\2\2qr\7\t\2\2rs\7\3\2\2st\5\34\17\2tu\7") - buf.write("\b\2\2uv\5\26\f\2vw\7\b\2\2wx\5\34\17\2xy\7\4\2\2yz\7") - buf.write("\5\2\2z{\5\24\13\2{|\7\6\2\2|\u008a\3\2\2\2}~\7\n\2\2") - buf.write("~\177\7\3\2\2\177\u0080\5\26\f\2\u0080\u0081\7\4\2\2\u0081") - buf.write("\u0082\7\5\2\2\u0082\u0083\5\24\13\2\u0083\u0084\7\6\2") - buf.write("\2\u0084\u0085\7\13\2\2\u0085\u0086\7\5\2\2\u0086\u0087") - buf.write("\5\24\13\2\u0087\u0088\7\6\2\2\u0088\u008a\3\2\2\2\u0089") - buf.write("n\3\2\2\2\u0089q\3\2\2\2\u0089}\3\2\2\2\u008a\31\3\2\2") - buf.write("\2\u008b\u008c\7\f\2\2\u008c\u008d\5\36\20\2\u008d\u008e") - buf.write("\7\b\2\2\u008e\33\3\2\2\2\u008f\u0090\7,\2\2\u0090\u0091") - buf.write("\7\r\2\2\u0091\u009a\5\36\20\2\u0092\u0093\7,\2\2\u0093") - buf.write("\u0094\7\16\2\2\u0094\u0095\5\36\20\2\u0095\u0096\7\17") - buf.write("\2\2\u0096\u0097\7\r\2\2\u0097\u0098\5\36\20\2\u0098\u009a") - buf.write("\3\2\2\2\u0099\u008f\3\2\2\2\u0099\u0092\3\2\2\2\u009a") - buf.write("\35\3\2\2\2\u009b\u009c\b\20\1\2\u009c\u009d\5 \21\2\u009d") - buf.write("\u00ac\3\2\2\2\u009e\u009f\f\7\2\2\u009f\u00a0\t\2\2\2") - buf.write("\u00a0\u00ab\5\36\20\b\u00a1\u00a2\f\6\2\2\u00a2\u00a3") - buf.write("\t\3\2\2\u00a3\u00ab\5\36\20\7\u00a4\u00a5\f\5\2\2\u00a5") - buf.write("\u00a6\t\4\2\2\u00a6\u00ab\5\36\20\6\u00a7\u00a8\f\4\2") - buf.write("\2\u00a8\u00a9\t\5\2\2\u00a9\u00ab\5\36\20\5\u00aa\u009e") - buf.write("\3\2\2\2\u00aa\u00a1\3\2\2\2\u00aa\u00a4\3\2\2\2\u00aa") - buf.write("\u00a7\3\2\2\2\u00ab\u00ae\3\2\2\2\u00ac\u00aa\3\2\2\2") - buf.write("\u00ac\u00ad\3\2\2\2\u00ad\37\3\2\2\2\u00ae\u00ac\3\2") - buf.write("\2\2\u00af\u00b0\7,\2\2\u00b0\u00b1\7\16\2\2\u00b1\u00b2") - buf.write("\5\36\20\2\u00b2\u00b3\7\17\2\2\u00b3\u00b7\3\2\2\2\u00b4") - buf.write("\u00b7\5&\24\2\u00b5\u00b7\7,\2\2\u00b6\u00af\3\2\2\2") - buf.write("\u00b6\u00b4\3\2\2\2\u00b6\u00b5\3\2\2\2\u00b7!\3\2\2") - buf.write("\2\u00b8\u00b9\5*\26\2\u00b9\u00ba\5$\23\2\u00ba\u00bb") - buf.write("\5$\23\2\u00bb#\3\2\2\2\u00bc\u00bf\7*\2\2\u00bd\u00bf") - buf.write("\5(\25\2\u00be\u00bc\3\2\2\2\u00be\u00bd\3\2\2\2\u00bf") - buf.write("%\3\2\2\2\u00c0\u00c4\7*\2\2\u00c1\u00c4\7)\2\2\u00c2") - buf.write("\u00c4\5(\25\2\u00c3\u00c0\3\2\2\2\u00c3\u00c1\3\2\2\2") - buf.write("\u00c3\u00c2\3\2\2\2\u00c4\'\3\2\2\2\u00c5\u00c6\7-\2") - buf.write("\2\u00c6)\3\2\2\2\u00c7\u00c9\t\6\2\2\u00c8\u00ca\7\"") - buf.write("\2\2\u00c9\u00c8\3\2\2\2\u00c9\u00ca\3\2\2\2\u00ca+\3") - buf.write("\2\2\2\u00cb\u00cc\t\7\2\2\u00cc-\3\2\2\2\21\61BGPT^g") - buf.write("\u0089\u0099\u00aa\u00ac\u00b6\u00be\u00c3\u00c9") - return buf.getvalue() - - -class HybroLangParser ( Parser ): - - grammarFileName = "HybroLang.g4" - - atn = ATNDeserializer().deserialize(serializedATN()) - - decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] - - sharedContextCache = PredictionContextCache() - - literalNames = [ "", "'('", "')'", "'{'", "'}'", "','", "';'", - "'for'", "'if'", "'else'", "'return'", "'='", "'['", - "']'", "'*'", "'/'", "'+'", "'-'", "'<<'", "'>>'", - "'&'", "'|'", "'^'", "'int'", "'uint'", "'sint'", "'suint'", - "'flt'", "'cpl'", "'pix'", "'ipv4'", "'ipv6'", "'[]'", - "'=='", "'!='", "'<'", "'>'", "'<='", "'>='" ] - - symbolicNames = [ "", "", "", "", - "", "", "", "", - "", "", "", "", - "", "", "", "", - "", "", "", "", - "", "", "", "", - "", "", "", "", - "", "", "", "", - "", "", "", "", - "", "", "", "DecimalFloatingConstant", - "IntegerConstant", "DecimalConstant", "Name", "INLINE", - "WhiteSpace", "LineComment", "NewLine" ] - - RULE_compilationunit = 0 - RULE_function = 1 - RULE_fndcl = 2 - RULE_fnprototype = 3 - RULE_fnbody = 4 - RULE_paramdcllist = 5 - RULE_localvardef = 6 - RULE_vardcllist = 7 - RULE_vardcl = 8 - RULE_actionlist = 9 - RULE_condexpr = 10 - RULE_action = 11 - RULE_returnexpr = 12 - RULE_affectexpr = 13 - RULE_unaryexpr = 14 - RULE_varorvalue = 15 - RULE_datatype = 16 - RULE_intconstvalue = 17 - RULE_constvalue = 18 - RULE_constinline = 19 - RULE_typebase = 20 - RULE_condOperator = 21 - - ruleNames = [ "compilationunit", "function", "fndcl", "fnprototype", - "fnbody", "paramdcllist", "localvardef", "vardcllist", - "vardcl", "actionlist", "condexpr", "action", "returnexpr", - "affectexpr", "unaryexpr", "varorvalue", "datatype", - "intconstvalue", "constvalue", "constinline", "typebase", - "condOperator" ] - - EOF = Token.EOF - 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 - DecimalFloatingConstant=39 - IntegerConstant=40 - DecimalConstant=41 - Name=42 - INLINE=43 - WhiteSpace=44 - LineComment=45 - NewLine=46 - - def __init__(self, input:TokenStream, output:TextIO = sys.stdout): - super().__init__(input, output) - self.checkVersion("4.7.2") - self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) - self._predicates = None - - - - class CompilationunitContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def function(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.FunctionContext) - else: - return self.getTypedRuleContext(HybroLangParser.FunctionContext,i) - - - def getRuleIndex(self): - return HybroLangParser.RULE_compilationunit - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCompilationunit" ): - return visitor.visitCompilationunit(self) - else: - return visitor.visitChildren(self) - - - - - def compilationunit(self): - - localctx = HybroLangParser.CompilationunitContext(self, self._ctx, self.state) - self.enterRule(localctx, 0, self.RULE_compilationunit) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 45 - self._errHandler.sync(self) - _la = self._input.LA(1) - while True: - self.state = 44 - self.function() - self.state = 47 - self._errHandler.sync(self) - _la = self._input.LA(1) - if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << HybroLangParser.T__22) | (1 << HybroLangParser.T__23) | (1 << HybroLangParser.T__24) | (1 << HybroLangParser.T__25) | (1 << HybroLangParser.T__26) | (1 << HybroLangParser.T__27) | (1 << HybroLangParser.T__28) | (1 << HybroLangParser.T__29) | (1 << HybroLangParser.T__30))) != 0)): - break - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FunctionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def fndcl(self): - return self.getTypedRuleContext(HybroLangParser.FndclContext,0) - - - def fnbody(self): - return self.getTypedRuleContext(HybroLangParser.FnbodyContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_function - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFunction" ): - return visitor.visitFunction(self) - else: - return visitor.visitChildren(self) - - - - - def function(self): - - localctx = HybroLangParser.FunctionContext(self, self._ctx, self.state) - self.enterRule(localctx, 2, self.RULE_function) - try: - self.enterOuterAlt(localctx, 1) - self.state = 49 - self.fndcl() - self.state = 50 - self.fnbody() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FndclContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def datatype(self): - return self.getTypedRuleContext(HybroLangParser.DatatypeContext,0) - - - def Name(self): - return self.getToken(HybroLangParser.Name, 0) - - def fnprototype(self): - return self.getTypedRuleContext(HybroLangParser.FnprototypeContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_fndcl - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFndcl" ): - return visitor.visitFndcl(self) - else: - return visitor.visitChildren(self) - - - - - def fndcl(self): - - localctx = HybroLangParser.FndclContext(self, self._ctx, self.state) - self.enterRule(localctx, 4, self.RULE_fndcl) - try: - self.enterOuterAlt(localctx, 1) - self.state = 52 - self.datatype() - self.state = 53 - self.match(HybroLangParser.Name) - self.state = 54 - self.fnprototype() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FnprototypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def paramdcllist(self): - return self.getTypedRuleContext(HybroLangParser.ParamdcllistContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_fnprototype - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFnprototype" ): - return visitor.visitFnprototype(self) - else: - return visitor.visitChildren(self) - - - - - def fnprototype(self): - - localctx = HybroLangParser.FnprototypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 6, self.RULE_fnprototype) - try: - self.enterOuterAlt(localctx, 1) - self.state = 56 - self.match(HybroLangParser.T__0) - self.state = 57 - self.paramdcllist() - self.state = 58 - self.match(HybroLangParser.T__1) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class FnbodyContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def actionlist(self): - return self.getTypedRuleContext(HybroLangParser.ActionlistContext,0) - - - def localvardef(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.LocalvardefContext) - else: - return self.getTypedRuleContext(HybroLangParser.LocalvardefContext,i) - - - def returnexpr(self): - return self.getTypedRuleContext(HybroLangParser.ReturnexprContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_fnbody - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitFnbody" ): - return visitor.visitFnbody(self) - else: - return visitor.visitChildren(self) - - - - - def fnbody(self): - - localctx = HybroLangParser.FnbodyContext(self, self._ctx, self.state) - self.enterRule(localctx, 8, self.RULE_fnbody) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 60 - self.match(HybroLangParser.T__2) - self.state = 64 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << HybroLangParser.T__22) | (1 << HybroLangParser.T__23) | (1 << HybroLangParser.T__24) | (1 << HybroLangParser.T__25) | (1 << HybroLangParser.T__26) | (1 << HybroLangParser.T__27) | (1 << HybroLangParser.T__28) | (1 << HybroLangParser.T__29) | (1 << HybroLangParser.T__30))) != 0): - self.state = 61 - self.localvardef() - self.state = 66 - self._errHandler.sync(self) - _la = self._input.LA(1) - - self.state = 67 - self.actionlist() - self.state = 69 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==HybroLangParser.T__9: - self.state = 68 - self.returnexpr() - - - self.state = 71 - self.match(HybroLangParser.T__3) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ParamdcllistContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def vardcl(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.VardclContext) - else: - return self.getTypedRuleContext(HybroLangParser.VardclContext,i) - - - def getRuleIndex(self): - return HybroLangParser.RULE_paramdcllist - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitParamdcllist" ): - return visitor.visitParamdcllist(self) - else: - return visitor.visitChildren(self) - - - - - def paramdcllist(self): - - localctx = HybroLangParser.ParamdcllistContext(self, self._ctx, self.state) - self.enterRule(localctx, 10, self.RULE_paramdcllist) - self._la = 0 # Token type - try: - self.state = 82 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [HybroLangParser.T__22, HybroLangParser.T__23, HybroLangParser.T__24, HybroLangParser.T__25, HybroLangParser.T__26, HybroLangParser.T__27, HybroLangParser.T__28, HybroLangParser.T__29, HybroLangParser.T__30]: - self.enterOuterAlt(localctx, 1) - self.state = 73 - self.vardcl() - self.state = 78 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==HybroLangParser.T__4: - self.state = 74 - self.match(HybroLangParser.T__4) - self.state = 75 - self.vardcl() - self.state = 80 - self._errHandler.sync(self) - _la = self._input.LA(1) - - pass - elif token in [HybroLangParser.T__1]: - self.enterOuterAlt(localctx, 2) - - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class LocalvardefContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def vardcllist(self): - return self.getTypedRuleContext(HybroLangParser.VardcllistContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_localvardef - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitLocalvardef" ): - return visitor.visitLocalvardef(self) - else: - return visitor.visitChildren(self) - - - - - def localvardef(self): - - localctx = HybroLangParser.LocalvardefContext(self, self._ctx, self.state) - self.enterRule(localctx, 12, self.RULE_localvardef) - try: - self.enterOuterAlt(localctx, 1) - self.state = 84 - self.vardcllist() - self.state = 85 - self.match(HybroLangParser.T__5) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class VardcllistContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def vardcl(self): - return self.getTypedRuleContext(HybroLangParser.VardclContext,0) - - - def Name(self, i:int=None): - if i is None: - return self.getTokens(HybroLangParser.Name) - else: - return self.getToken(HybroLangParser.Name, i) - - def getRuleIndex(self): - return HybroLangParser.RULE_vardcllist - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitVardcllist" ): - return visitor.visitVardcllist(self) - else: - return visitor.visitChildren(self) - - - - - def vardcllist(self): - - localctx = HybroLangParser.VardcllistContext(self, self._ctx, self.state) - self.enterRule(localctx, 14, self.RULE_vardcllist) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 87 - self.vardcl() - self.state = 92 - self._errHandler.sync(self) - _la = self._input.LA(1) - while _la==HybroLangParser.T__4: - self.state = 88 - self.match(HybroLangParser.T__4) - self.state = 89 - self.match(HybroLangParser.Name) - self.state = 94 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class VardclContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def datatype(self): - return self.getTypedRuleContext(HybroLangParser.DatatypeContext,0) - - - def Name(self): - return self.getToken(HybroLangParser.Name, 0) - - def getRuleIndex(self): - return HybroLangParser.RULE_vardcl - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitVardcl" ): - return visitor.visitVardcl(self) - else: - return visitor.visitChildren(self) - - - - - def vardcl(self): - - localctx = HybroLangParser.VardclContext(self, self._ctx, self.state) - self.enterRule(localctx, 16, self.RULE_vardcl) - try: - self.enterOuterAlt(localctx, 1) - self.state = 95 - self.datatype() - self.state = 96 - self.match(HybroLangParser.Name) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ActionlistContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def action(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.ActionContext) - else: - return self.getTypedRuleContext(HybroLangParser.ActionContext,i) - - - def getRuleIndex(self): - return HybroLangParser.RULE_actionlist - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitActionlist" ): - return visitor.visitActionlist(self) - else: - return visitor.visitChildren(self) - - - - - def actionlist(self): - - localctx = HybroLangParser.ActionlistContext(self, self._ctx, self.state) - self.enterRule(localctx, 18, self.RULE_actionlist) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 101 - self._errHandler.sync(self) - _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << HybroLangParser.T__6) | (1 << HybroLangParser.T__7) | (1 << HybroLangParser.Name))) != 0): - self.state = 98 - self.action() - self.state = 103 - self._errHandler.sync(self) - _la = self._input.LA(1) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CondexprContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def varorvalue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.VarorvalueContext) - else: - return self.getTypedRuleContext(HybroLangParser.VarorvalueContext,i) - - - def condOperator(self): - return self.getTypedRuleContext(HybroLangParser.CondOperatorContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_condexpr - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCondexpr" ): - return visitor.visitCondexpr(self) - else: - return visitor.visitChildren(self) - - - - - def condexpr(self): - - localctx = HybroLangParser.CondexprContext(self, self._ctx, self.state) - self.enterRule(localctx, 20, self.RULE_condexpr) - try: - self.enterOuterAlt(localctx, 1) - self.state = 104 - self.varorvalue() - self.state = 105 - self.condOperator() - self.state = 106 - self.varorvalue() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ActionContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def affectexpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.AffectexprContext) - else: - return self.getTypedRuleContext(HybroLangParser.AffectexprContext,i) - - - def condexpr(self): - return self.getTypedRuleContext(HybroLangParser.CondexprContext,0) - - - def actionlist(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.ActionlistContext) - else: - return self.getTypedRuleContext(HybroLangParser.ActionlistContext,i) - - - def getRuleIndex(self): - return HybroLangParser.RULE_action - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAction" ): - return visitor.visitAction(self) - else: - return visitor.visitChildren(self) - - - - - def action(self): - - localctx = HybroLangParser.ActionContext(self, self._ctx, self.state) - self.enterRule(localctx, 22, self.RULE_action) - try: - self.state = 135 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [HybroLangParser.Name]: - self.enterOuterAlt(localctx, 1) - self.state = 108 - self.affectexpr() - self.state = 109 - self.match(HybroLangParser.T__5) - pass - elif token in [HybroLangParser.T__6]: - self.enterOuterAlt(localctx, 2) - self.state = 111 - self.match(HybroLangParser.T__6) - self.state = 112 - self.match(HybroLangParser.T__0) - self.state = 113 - self.affectexpr() - self.state = 114 - self.match(HybroLangParser.T__5) - self.state = 115 - self.condexpr() - self.state = 116 - self.match(HybroLangParser.T__5) - self.state = 117 - self.affectexpr() - self.state = 118 - self.match(HybroLangParser.T__1) - self.state = 119 - self.match(HybroLangParser.T__2) - self.state = 120 - self.actionlist() - self.state = 121 - self.match(HybroLangParser.T__3) - pass - elif token in [HybroLangParser.T__7]: - self.enterOuterAlt(localctx, 3) - self.state = 123 - self.match(HybroLangParser.T__7) - self.state = 124 - self.match(HybroLangParser.T__0) - self.state = 125 - self.condexpr() - self.state = 126 - self.match(HybroLangParser.T__1) - self.state = 127 - self.match(HybroLangParser.T__2) - self.state = 128 - self.actionlist() - self.state = 129 - self.match(HybroLangParser.T__3) - self.state = 130 - self.match(HybroLangParser.T__8) - self.state = 131 - self.match(HybroLangParser.T__2) - self.state = 132 - self.actionlist() - self.state = 133 - self.match(HybroLangParser.T__3) - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ReturnexprContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def unaryexpr(self): - return self.getTypedRuleContext(HybroLangParser.UnaryexprContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_returnexpr - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitReturnexpr" ): - return visitor.visitReturnexpr(self) - else: - return visitor.visitChildren(self) - - - - - def returnexpr(self): - - localctx = HybroLangParser.ReturnexprContext(self, self._ctx, self.state) - self.enterRule(localctx, 24, self.RULE_returnexpr) - try: - self.enterOuterAlt(localctx, 1) - self.state = 137 - self.match(HybroLangParser.T__9) - self.state = 138 - self.unaryexpr(0) - self.state = 139 - self.match(HybroLangParser.T__5) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class AffectexprContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def Name(self): - return self.getToken(HybroLangParser.Name, 0) - - def unaryexpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.UnaryexprContext) - else: - return self.getTypedRuleContext(HybroLangParser.UnaryexprContext,i) - - - def getRuleIndex(self): - return HybroLangParser.RULE_affectexpr - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitAffectexpr" ): - return visitor.visitAffectexpr(self) - else: - return visitor.visitChildren(self) - - - - - def affectexpr(self): - - localctx = HybroLangParser.AffectexprContext(self, self._ctx, self.state) - self.enterRule(localctx, 26, self.RULE_affectexpr) - try: - self.state = 151 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,8,self._ctx) - if la_ == 1: - self.enterOuterAlt(localctx, 1) - self.state = 141 - self.match(HybroLangParser.Name) - self.state = 142 - self.match(HybroLangParser.T__10) - self.state = 143 - self.unaryexpr(0) - pass - - elif la_ == 2: - self.enterOuterAlt(localctx, 2) - self.state = 144 - self.match(HybroLangParser.Name) - self.state = 145 - self.match(HybroLangParser.T__11) - self.state = 146 - self.unaryexpr(0) - self.state = 147 - self.match(HybroLangParser.T__12) - self.state = 148 - self.match(HybroLangParser.T__10) - self.state = 149 - self.unaryexpr(0) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class UnaryexprContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.op = None # Token - - def varorvalue(self): - return self.getTypedRuleContext(HybroLangParser.VarorvalueContext,0) - - - def unaryexpr(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.UnaryexprContext) - else: - return self.getTypedRuleContext(HybroLangParser.UnaryexprContext,i) - - - def getRuleIndex(self): - return HybroLangParser.RULE_unaryexpr - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitUnaryexpr" ): - return visitor.visitUnaryexpr(self) - else: - return visitor.visitChildren(self) - - - - def unaryexpr(self, _p:int=0): - _parentctx = self._ctx - _parentState = self.state - localctx = HybroLangParser.UnaryexprContext(self, self._ctx, _parentState) - _prevctx = localctx - _startState = 28 - self.enterRecursionRule(localctx, 28, self.RULE_unaryexpr, _p) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 154 - self.varorvalue() - self._ctx.stop = self._input.LT(-1) - self.state = 170 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,10,self._ctx) - while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: - if _alt==1: - if self._parseListeners is not None: - self.triggerExitRuleEvent() - _prevctx = localctx - self.state = 168 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,9,self._ctx) - if la_ == 1: - localctx = HybroLangParser.UnaryexprContext(self, _parentctx, _parentState) - self.pushNewRecursionContext(localctx, _startState, self.RULE_unaryexpr) - self.state = 156 - if not self.precpred(self._ctx, 5): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 5)") - self.state = 157 - localctx.op = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==HybroLangParser.T__13 or _la==HybroLangParser.T__14): - localctx.op = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 158 - self.unaryexpr(6) - pass - - elif la_ == 2: - localctx = HybroLangParser.UnaryexprContext(self, _parentctx, _parentState) - self.pushNewRecursionContext(localctx, _startState, self.RULE_unaryexpr) - self.state = 159 - if not self.precpred(self._ctx, 4): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 4)") - self.state = 160 - localctx.op = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==HybroLangParser.T__15 or _la==HybroLangParser.T__16): - localctx.op = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 161 - self.unaryexpr(5) - pass - - elif la_ == 3: - localctx = HybroLangParser.UnaryexprContext(self, _parentctx, _parentState) - self.pushNewRecursionContext(localctx, _startState, self.RULE_unaryexpr) - self.state = 162 - if not self.precpred(self._ctx, 3): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 3)") - self.state = 163 - localctx.op = self._input.LT(1) - _la = self._input.LA(1) - if not(_la==HybroLangParser.T__17 or _la==HybroLangParser.T__18): - localctx.op = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 164 - self.unaryexpr(4) - pass - - elif la_ == 4: - localctx = HybroLangParser.UnaryexprContext(self, _parentctx, _parentState) - self.pushNewRecursionContext(localctx, _startState, self.RULE_unaryexpr) - self.state = 165 - if not self.precpred(self._ctx, 2): - from antlr4.error.Errors import FailedPredicateException - raise FailedPredicateException(self, "self.precpred(self._ctx, 2)") - self.state = 166 - localctx.op = self._input.LT(1) - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << HybroLangParser.T__19) | (1 << HybroLangParser.T__20) | (1 << HybroLangParser.T__21))) != 0)): - localctx.op = self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 167 - self.unaryexpr(3) - pass - - - self.state = 172 - self._errHandler.sync(self) - _alt = self._interp.adaptivePredict(self._input,10,self._ctx) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.unrollRecursionContexts(_parentctx) - return localctx - - class VarorvalueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return HybroLangParser.RULE_varorvalue - - - def copyFrom(self, ctx:ParserRuleContext): - super().copyFrom(ctx) - - - - class VarorvalueVarContext(VarorvalueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a HybroLangParser.VarorvalueContext - super().__init__(parser) - self.copyFrom(ctx) - - def Name(self): - return self.getToken(HybroLangParser.Name, 0) - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitVarorvalueVar" ): - return visitor.visitVarorvalueVar(self) - else: - return visitor.visitChildren(self) - - - class VarorvalueArrayContext(VarorvalueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a HybroLangParser.VarorvalueContext - super().__init__(parser) - self.copyFrom(ctx) - - def Name(self): - return self.getToken(HybroLangParser.Name, 0) - def unaryexpr(self): - return self.getTypedRuleContext(HybroLangParser.UnaryexprContext,0) - - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitVarorvalueArray" ): - return visitor.visitVarorvalueArray(self) - else: - return visitor.visitChildren(self) - - - class VarorvalueConstContext(VarorvalueContext): - - def __init__(self, parser, ctx:ParserRuleContext): # actually a HybroLangParser.VarorvalueContext - super().__init__(parser) - self.copyFrom(ctx) - - def constvalue(self): - return self.getTypedRuleContext(HybroLangParser.ConstvalueContext,0) - - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitVarorvalueConst" ): - return visitor.visitVarorvalueConst(self) - else: - return visitor.visitChildren(self) - - - - def varorvalue(self): - - localctx = HybroLangParser.VarorvalueContext(self, self._ctx, self.state) - self.enterRule(localctx, 30, self.RULE_varorvalue) - try: - self.state = 180 - self._errHandler.sync(self) - la_ = self._interp.adaptivePredict(self._input,11,self._ctx) - if la_ == 1: - localctx = HybroLangParser.VarorvalueArrayContext(self, localctx) - self.enterOuterAlt(localctx, 1) - self.state = 173 - self.match(HybroLangParser.Name) - self.state = 174 - self.match(HybroLangParser.T__11) - self.state = 175 - self.unaryexpr(0) - self.state = 176 - self.match(HybroLangParser.T__12) - pass - - elif la_ == 2: - localctx = HybroLangParser.VarorvalueConstContext(self, localctx) - self.enterOuterAlt(localctx, 2) - self.state = 178 - self.constvalue() - pass - - elif la_ == 3: - localctx = HybroLangParser.VarorvalueVarContext(self, localctx) - self.enterOuterAlt(localctx, 3) - self.state = 179 - self.match(HybroLangParser.Name) - pass - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class DatatypeContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - self.wordlen = None # IntconstvalueContext - self.vectorlen = None # IntconstvalueContext - - def typebase(self): - return self.getTypedRuleContext(HybroLangParser.TypebaseContext,0) - - - def intconstvalue(self, i:int=None): - if i is None: - return self.getTypedRuleContexts(HybroLangParser.IntconstvalueContext) - else: - return self.getTypedRuleContext(HybroLangParser.IntconstvalueContext,i) - - - def getRuleIndex(self): - return HybroLangParser.RULE_datatype - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitDatatype" ): - return visitor.visitDatatype(self) - else: - return visitor.visitChildren(self) - - - - - def datatype(self): - - localctx = HybroLangParser.DatatypeContext(self, self._ctx, self.state) - self.enterRule(localctx, 32, self.RULE_datatype) - try: - self.enterOuterAlt(localctx, 1) - self.state = 182 - self.typebase() - self.state = 183 - localctx.wordlen = self.intconstvalue() - self.state = 184 - localctx.vectorlen = self.intconstvalue() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class IntconstvalueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IntegerConstant(self): - return self.getToken(HybroLangParser.IntegerConstant, 0) - - def constinline(self): - return self.getTypedRuleContext(HybroLangParser.ConstinlineContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_intconstvalue - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitIntconstvalue" ): - return visitor.visitIntconstvalue(self) - else: - return visitor.visitChildren(self) - - - - - def intconstvalue(self): - - localctx = HybroLangParser.IntconstvalueContext(self, self._ctx, self.state) - self.enterRule(localctx, 34, self.RULE_intconstvalue) - try: - self.state = 188 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [HybroLangParser.IntegerConstant]: - self.enterOuterAlt(localctx, 1) - self.state = 186 - self.match(HybroLangParser.IntegerConstant) - pass - elif token in [HybroLangParser.INLINE]: - self.enterOuterAlt(localctx, 2) - self.state = 187 - self.constinline() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ConstvalueContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def IntegerConstant(self): - return self.getToken(HybroLangParser.IntegerConstant, 0) - - def DecimalFloatingConstant(self): - return self.getToken(HybroLangParser.DecimalFloatingConstant, 0) - - def constinline(self): - return self.getTypedRuleContext(HybroLangParser.ConstinlineContext,0) - - - def getRuleIndex(self): - return HybroLangParser.RULE_constvalue - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConstvalue" ): - return visitor.visitConstvalue(self) - else: - return visitor.visitChildren(self) - - - - - def constvalue(self): - - localctx = HybroLangParser.ConstvalueContext(self, self._ctx, self.state) - self.enterRule(localctx, 36, self.RULE_constvalue) - try: - self.state = 193 - self._errHandler.sync(self) - token = self._input.LA(1) - if token in [HybroLangParser.IntegerConstant]: - self.enterOuterAlt(localctx, 1) - self.state = 190 - self.match(HybroLangParser.IntegerConstant) - pass - elif token in [HybroLangParser.DecimalFloatingConstant]: - self.enterOuterAlt(localctx, 2) - self.state = 191 - self.match(HybroLangParser.DecimalFloatingConstant) - pass - elif token in [HybroLangParser.INLINE]: - self.enterOuterAlt(localctx, 3) - self.state = 192 - self.constinline() - pass - else: - raise NoViableAltException(self) - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class ConstinlineContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - def INLINE(self): - return self.getToken(HybroLangParser.INLINE, 0) - - def getRuleIndex(self): - return HybroLangParser.RULE_constinline - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitConstinline" ): - return visitor.visitConstinline(self) - else: - return visitor.visitChildren(self) - - - - - def constinline(self): - - localctx = HybroLangParser.ConstinlineContext(self, self._ctx, self.state) - self.enterRule(localctx, 38, self.RULE_constinline) - try: - self.enterOuterAlt(localctx, 1) - self.state = 195 - self.match(HybroLangParser.INLINE) - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class TypebaseContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return HybroLangParser.RULE_typebase - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitTypebase" ): - return visitor.visitTypebase(self) - else: - return visitor.visitChildren(self) - - - - - def typebase(self): - - localctx = HybroLangParser.TypebaseContext(self, self._ctx, self.state) - self.enterRule(localctx, 40, self.RULE_typebase) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 197 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << HybroLangParser.T__22) | (1 << HybroLangParser.T__23) | (1 << HybroLangParser.T__24) | (1 << HybroLangParser.T__25) | (1 << HybroLangParser.T__26) | (1 << HybroLangParser.T__27) | (1 << HybroLangParser.T__28) | (1 << HybroLangParser.T__29) | (1 << HybroLangParser.T__30))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - self.state = 199 - self._errHandler.sync(self) - _la = self._input.LA(1) - if _la==HybroLangParser.T__31: - self.state = 198 - self.match(HybroLangParser.T__31) - - - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - class CondOperatorContext(ParserRuleContext): - - def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): - super().__init__(parent, invokingState) - self.parser = parser - - - def getRuleIndex(self): - return HybroLangParser.RULE_condOperator - - def accept(self, visitor:ParseTreeVisitor): - if hasattr( visitor, "visitCondOperator" ): - return visitor.visitCondOperator(self) - else: - return visitor.visitChildren(self) - - - - - def condOperator(self): - - localctx = HybroLangParser.CondOperatorContext(self, self._ctx, self.state) - self.enterRule(localctx, 42, self.RULE_condOperator) - self._la = 0 # Token type - try: - self.enterOuterAlt(localctx, 1) - self.state = 201 - _la = self._input.LA(1) - if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << HybroLangParser.T__32) | (1 << HybroLangParser.T__33) | (1 << HybroLangParser.T__34) | (1 << HybroLangParser.T__35) | (1 << HybroLangParser.T__36) | (1 << HybroLangParser.T__37))) != 0)): - self._errHandler.recoverInline(self) - else: - self._errHandler.reportMatch(self) - self.consume() - except RecognitionException as re: - localctx.exception = re - self._errHandler.reportError(self, re) - self._errHandler.recover(self, re) - finally: - self.exitRule() - return localctx - - - - def sempred(self, localctx:RuleContext, ruleIndex:int, predIndex:int): - if self._predicates == None: - self._predicates = dict() - self._predicates[14] = self.unaryexpr_sempred - pred = self._predicates.get(ruleIndex, None) - if pred is None: - raise Exception("No predicate with index:" + str(ruleIndex)) - else: - return pred(localctx, predIndex) - - def unaryexpr_sempred(self, localctx:UnaryexprContext, predIndex:int): - if predIndex == 0: - return self.precpred(self._ctx, 5) - - - if predIndex == 1: - return self.precpred(self._ctx, 4) - - - if predIndex == 2: - return self.precpred(self._ctx, 3) - - - if predIndex == 3: - return self.precpred(self._ctx, 2) - - - - - diff --git a/HybroLang/HybroLangVisitor.py b/HybroLang/HybroLangVisitor.py index 5ee1f04..7b3db16 100644 --- a/HybroLang/HybroLangVisitor.py +++ b/HybroLang/HybroLangVisitor.py @@ -1,4 +1,4 @@ -# Generated from HybroLang.g4 by ANTLR 4.7.2 +# Generated from HybroLang.g4 by ANTLR 4.9.2 from antlr4 import * if __name__ is not None and "." in __name__: from .HybroLangParser import HybroLangParser diff --git a/HybroLang/Makefile b/HybroLang/Makefile index bcfcb6e..b96a975 100644 --- a/HybroLang/Makefile +++ b/HybroLang/Makefile @@ -23,7 +23,7 @@ makedebug: make clean ${ANTLRJ} HybroLang.g4 javac -cp ${CLASSP} HybroLang*.java - ${GRUN} HybroLang compilationunit ${GRUNOPT} < ../CodeExamples/undertest.hll + ${GRUN} HybroLang compilationunit ${GRUNOPT} < ../CodeExamples/Or32.hl clean: -rm ${FILES} diff --git a/Makefile b/Makefile index 1def518..ba63721 100755 --- a/Makefile +++ b/Makefile @@ -40,6 +40,7 @@ clean: -(cd HybroLang; make clean) -(cd CodeExamples/; make clean) -(cd docs/; make clean) + -(cd Demos/; make clean) doregression: cd CodeExamples && ./Regression.py ${THEARCH} @@ -54,11 +55,4 @@ power: make doregression THEARCH=power cxram: - make doregression THEARCH=cxram - -installH2Default: - ./distrib.py --install /opt/H2/bin/ - -distrib: buildGrammar all - mkdir -p /tmp/HybroGen/ - ./distrib.py --distribution /tmp/HybroGen/ \ No newline at end of file + make doregression THEARCH=cxram \ No newline at end of file