]> www.ljiriste.work Git - KyciFTA/commitdiff
Add grammar and generate parsing table
authorLukáš Jiřiště <redacted>
Wed, 18 Mar 2026 20:17:04 +0000 (21:17 +0100)
committerLukáš Jiřiště <redacted>
Wed, 18 Mar 2026 20:17:04 +0000 (21:17 +0100)
grammar [new file with mode: 0644]
parsing_table [new file with mode: 0644]

diff --git a/grammar b/grammar
new file mode 100644 (file)
index 0000000..b4e61bf
--- /dev/null
+++ b/grammar
@@ -0,0 +1,33 @@
+fault_tree -> statement fault_tree
+fault_tree -> statement
+statement -> atom
+statement -> system
+statement -> instantiation
+instantiation -> INSTANTIATE classname objectname
+system -> SYSTEM classname LEFT_PARA system_def RIGHT_PARA
+system_def -> instantiation system_def
+system_def -> fta_logic
+fta_logic -> fta_sum
+fta_sum -> fta_product PLUS fta_sum
+fta_sum -> fta_product
+fta_product -> name TIMES fta_product
+fta_product -> name
+fta_product -> LEFT_PARA fta_logic RIGHT_PARA
+fta_product -> N_OUT_OF_K LEFT_PARA INT COMMA list RIGHT_PARA
+list -> fta_logic COMMA list
+list -> fta_logic
+atom -> ATOM classname LEFT_PARA probability RIGHT_PARA
+atom -> ATOM classname LEFT_PARA function_name FROM dynamic_library RIGHT_PARA
+probability -> value
+value -> mantisa
+value -> mantisa exponent
+mantisa -> INT 
+mantisa -> INT DOT INT
+exponent -> EXP INT
+classname -> name
+objectname -> name
+function_name -> name
+dynamic_library -> path
+path -> WORD path
+path -> WORD
+name -> WORD
diff --git a/parsing_table b/parsing_table
new file mode 100644 (file)
index 0000000..729b01d
--- /dev/null
@@ -0,0 +1,89 @@
+State;WORD;EXP;DOT;FROM;ATOM;COMMA;INT;N_OUT_OF_K;TIMES;PLUS;RIGHT_PARA;LEFT_PARA;SYSTEM;INSTANTIATE;$;fault_tree;statement;atom;system;instantiation;classname;objectname;system_def;fta_logic;fta_sum;fta_product;name;list;probability;function_name;dynamic_library;value;mantisa;exponent;path
+0;;;;;s1;;;;;;;;s25;s77;;82;83;85;86;87;;;;;;;;;;;;;;;
+1;s2;;;;;;;;;;;;;;;;;;;;3;;;;;;24;;;;;;;;
+2;;;;;;;;;;;;r32;;;;;;;;;;;;;;;;;;;;;;;
+3;;;;;;;;;;;;s4;;;;;;;;;;;;;;;;;;;;;;;
+4;s5;;;;;;s6;;;;;;;;;;;;;;;;;;;;9;;10;12;;19;20;;
+5;;;;r32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+6;;r23;s7;;;;;;;;r23;;;;;;;;;;;;;;;;;;;;;;;;
+7;;;;;;;s8;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+8;;r24;;;;;;;;;r24;;;;;;;;;;;;;;;;;;;;;;;;
+9;;;;r28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+10;;;;;;;;;;;s11;;;;;;;;;;;;;;;;;;;;;;;;
+11;;;;;r18;;;;;;;;r18;r18;r18;;;;;;;;;;;;;;;;;;;;
+12;;;;s13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+13;s14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16;;;;18
+14;s14;;;;;;;;;;r31;;;;;;;;;;;;;;;;;;;;;;;;15
+15;;;;;;;;;;;r30;;;;;;;;;;;;;;;;;;;;;;;;
+16;;;;;;;;;;;s17;;;;;;;;;;;;;;;;;;;;;;;;
+17;;;;;r19;;;;;;;;r19;r19;r19;;;;;;;;;;;;;;;;;;;;
+18;;;;;;;;;;;r29;;;;;;;;;;;;;;;;;;;;;;;;
+19;;;;;;;;;;;r20;;;;;;;;;;;;;;;;;;;;;;;;
+20;;s21;;;;;;;;;r21;;;;;;;;;;;;;;;;;;;;;;;23;
+21;;;;;;;s22;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+22;;;;;;;;;;;r25;;;;;;;;;;;;;;;;;;;;;;;;
+23;;;;;;;;;;;r22;;;;;;;;;;;;;;;;;;;;;;;;
+24;;;;;;;;;;;;r26;;;;;;;;;;;;;;;;;;;;;;;
+25;s2;;;;;;;;;;;;;;;;;;;;26;;;;;;24;;;;;;;;
+26;;;;;;;;;;;;s27;;;;;;;;;;;;;;;;;;;;;;;
+27;s28;;;;;;;s29;;;;s39;;s65;;;;;;72;;;75;74;42;43;46;;;;;;;;
+28;;;;;;;;;r32;r32;r32;;;;;;;;;;;;;;;;;;;;;;;;
+29;;;;;;;;;;;;s30;;;;;;;;;;;;;;;;;;;;;;;
+30;;;;;;;s31;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+31;;;;;;s32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+32;s33;;;;;;;s34;;;;s38;;;;;;;;;;;;51;53;54;57;63;;;;;;;
+33;;;;;;r32;;;r32;r32;r32;;;;;;;;;;;;;;;;;;;;;;;;
+34;;;;;;;;;;;;s35;;;;;;;;;;;;;;;;;;;;;;;
+35;;;;;;;s36;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+36;;;;;;s37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+37;s33;;;;;;;s34;;;;s38;;;;;;;;;;;;51;53;54;57;61;;;;;;;
+38;s28;;;;;;;s29;;;;s39;;;;;;;;;;;;49;42;43;46;;;;;;;;
+39;s28;;;;;;;s29;;;;s39;;;;;;;;;;;;40;42;43;46;;;;;;;;
+40;;;;;;;;;;;s41;;;;;;;;;;;;;;;;;;;;;;;;
+41;;;;;;;;;;r14;r14;;;;;;;;;;;;;;;;;;;;;;;;
+42;;;;;;;;;;;r9;;;;;;;;;;;;;;;;;;;;;;;;
+43;;;;;;;;;;s44;r11;;;;;;;;;;;;;;;;;;;;;;;;
+44;s28;;;;;;;s29;;;;s39;;;;;;;;;;;;;45;43;46;;;;;;;;
+45;;;;;;;;;;;r10;;;;;;;;;;;;;;;;;;;;;;;;
+46;;;;;;;;;s47;r13;r13;;;;;;;;;;;;;;;;;;;;;;;;
+47;s28;;;;;;;s29;;;;s39;;;;;;;;;;;;;;48;46;;;;;;;;
+48;;;;;;;;;;r12;r12;;;;;;;;;;;;;;;;;;;;;;;;
+49;;;;;;;;;;;s50;;;;;;;;;;;;;;;;;;;;;;;;
+50;;;;;;r14;;;;r14;r14;;;;;;;;;;;;;;;;;;;;;;;;
+51;;;;;;s52;;;;;r17;;;;;;;;;;;;;;;;;;;;;;;;
+52;s33;;;;;;;s34;;;;s38;;;;;;;;;;;;51;53;54;57;60;;;;;;;
+53;;;;;;r9;;;;;r9;;;;;;;;;;;;;;;;;;;;;;;;
+54;;;;;;r11;;;;s55;r11;;;;;;;;;;;;;;;;;;;;;;;;
+55;s33;;;;;;;s34;;;;s38;;;;;;;;;;;;;56;54;57;;;;;;;;
+56;;;;;;r10;;;;;r10;;;;;;;;;;;;;;;;;;;;;;;;
+57;;;;;;r13;;;s58;r13;r13;;;;;;;;;;;;;;;;;;;;;;;;
+58;s33;;;;;;;s34;;;;s38;;;;;;;;;;;;;;59;57;;;;;;;;
+59;;;;;;r12;;;;r12;r12;;;;;;;;;;;;;;;;;;;;;;;;
+60;;;;;;;;;;;r16;;;;;;;;;;;;;;;;;;;;;;;;
+61;;;;;;;;;;;s62;;;;;;;;;;;;;;;;;;;;;;;;
+62;;;;;;r15;;;;r15;r15;;;;;;;;;;;;;;;;;;;;;;;;
+63;;;;;;;;;;;s64;;;;;;;;;;;;;;;;;;;;;;;;
+64;;;;;;;;;;r15;r15;;;;;;;;;;;;;;;;;;;;;;;;
+65;s66;;;;;;;;;;;;;;;;;;;;67;;;;;;71;;;;;;;;
+66;r32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+67;s68;;;;;;;;;;;;;;;;;;;;;69;;;;;70;;;;;;;;
+68;r32;;;;;;;r32;;;;r32;;r32;;;;;;;;;;;;;;;;;;;;;
+69;r5;;;;;;;r5;;;;r5;;r5;;;;;;;;;;;;;;;;;;;;;
+70;r27;;;;;;;r27;;;;r27;;r27;;;;;;;;;;;;;;;;;;;;;
+71;r26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+72;s28;;;;;;;s29;;;;s39;;s65;;;;;;72;;;73;74;42;43;46;;;;;;;;
+73;;;;;;;;;;;r7;;;;;;;;;;;;;;;;;;;;;;;;
+74;;;;;;;;;;;r8;;;;;;;;;;;;;;;;;;;;;;;;
+75;;;;;;;;;;;s76;;;;;;;;;;;;;;;;;;;;;;;;
+76;;;;;r6;;;;;;;;r6;r6;r6;;;;;;;;;;;;;;;;;;;;
+77;s66;;;;;;;;;;;;;;;;;;;;78;;;;;;71;;;;;;;;
+78;s79;;;;;;;;;;;;;;;;;;;;;80;;;;;81;;;;;;;;
+79;;;;;r32;;;;;;;;r32;r32;r32;;;;;;;;;;;;;;;;;;;;
+80;;;;;r5;;;;;;;;r5;r5;r5;;;;;;;;;;;;;;;;;;;;
+81;;;;;r27;;;;;;;;r27;r27;r27;;;;;;;;;;;;;;;;;;;;
+82;;;;;;;;;;;;;;;acc;;;;;;;;;;;;;;;;;;;;
+83;;;;;s1;;;;;;;;s25;s77;r1;84;83;85;86;87;;;;;;;;;;;;;;;
+84;;;;;;;;;;;;;;;r0;;;;;;;;;;;;;;;;;;;;
+85;;;;;r2;;;;;;;;r2;r2;r2;;;;;;;;;;;;;;;;;;;;
+86;;;;;r3;;;;;;;;r3;r3;r3;;;;;;;;;;;;;;;;;;;;
+87;;;;;r4;;;;;;;;r4;r4;r4;;;;;;;;;;;;;;;;;;;;