From 39ae14b9695ec31b80459018c45cbf4c61ef2f45 Mon Sep 17 00:00:00 2001 From: Jan Vesely <janvesely@janvesely.net> Date: Sun, 27 Apr 2014 18:47:25 +0200 Subject: [PATCH] add determinized idpda --- examples/automaton/NIDPDA1.DET.xml | 77 +++++++++++++++++++++++ examples/automaton/NIDPDA2.DET.xml | 77 +++++++++++++++++++++++ examples/automaton/NIDPDA3.DET.xml | 99 ++++++++++++++++++++++++++++++ 3 files changed, 253 insertions(+) create mode 100644 examples/automaton/NIDPDA1.DET.xml create mode 100644 examples/automaton/NIDPDA2.DET.xml create mode 100644 examples/automaton/NIDPDA3.DET.xml diff --git a/examples/automaton/NIDPDA1.DET.xml b/examples/automaton/NIDPDA1.DET.xml new file mode 100644 index 0000000000..55acf68a7c --- /dev/null +++ b/examples/automaton/NIDPDA1.DET.xml @@ -0,0 +1,77 @@ +<automaton> + <states> + <state>['0']</state> + <state>['1']</state> + <state>['1', '2']</state> + <state>['2']</state> + <state>['3']</state> + </states> + <inputAlphabet> + <symbol>a</symbol> + <symbol>b</symbol> + <symbol>c</symbol> + <symbol>d</symbol> + </inputAlphabet> + <stackAlphabet> + <symbol>a</symbol> + <symbol>b</symbol> + </stackAlphabet> + <transitions> + <transition> + <from>['0']</from> + <input>a</input> + <to>['1']</to> + <pop></pop> + <push><symbol>a</symbol></push> + </transition> + <transition> + <from>['1']</from> + <input>b</input> + <to>['1', '2']</to> + <pop></pop> + <push><symbol>b</symbol></push> + </transition> + <transition> + <from>['1', '2']</from> + <input>b</input> + <to>['1', '2']</to> + <pop></pop> + <push><symbol>b</symbol></push> + </transition> + <transition> + <from>['1', '2']</from> + <input>c</input> + <to>['2']</to> + <pop><symbol>b</symbol></pop> + <push></push> + </transition> + <transition> + <from>['1', '2']</from> + <input>d</input> + <to>['3']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['2']</from> + <input>c</input> + <to>['2']</to> + <pop><symbol>b</symbol></pop> + <push></push> + </transition> + <transition> + <from>['2']</from> + <input>d</input> + <to>['3']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + </transitions> + <initialStates> + <state>['0']</state> + </initialStates> + <startSymbols></startSymbols> + <finalStates> + <state>['3']</state> + </finalStates> +</automaton> diff --git a/examples/automaton/NIDPDA2.DET.xml b/examples/automaton/NIDPDA2.DET.xml new file mode 100644 index 0000000000..cf64064d6a --- /dev/null +++ b/examples/automaton/NIDPDA2.DET.xml @@ -0,0 +1,77 @@ +<automaton> + <states> + <state>['0']</state> + <state>['0', '1', '2']</state> + <state>['1', '2']</state> + <state>['2']</state> + </states> + <inputAlphabet> + <symbol>a</symbol> + <symbol>b</symbol> + <symbol>c</symbol> + </inputAlphabet> + <stackAlphabet> + <symbol>a</symbol> + </stackAlphabet> + <transitions> + <transition> + <from>['0']</from> + <input>a</input> + <to>['0', '1', '2']</to> + <pop></pop> + <push><symbol>a</symbol></push> + </transition> + <transition> + <from>['0', '1', '2']</from> + <input>a</input> + <to>['0', '1', '2']</to> + <pop></pop> + <push><symbol>a</symbol></push> + </transition> + <transition> + <from>['0', '1', '2']</from> + <input>b</input> + <to>['1', '2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['0', '1', '2']</from> + <input>c</input> + <to>['2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['1', '2']</from> + <input>b</input> + <to>['1', '2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['1', '2']</from> + <input>c</input> + <to>['2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['2']</from> + <input>c</input> + <to>['2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + </transitions> + <initialStates> + <state>['0']</state> + </initialStates> + <startSymbols></startSymbols> + <finalStates> + <state>['0']</state> + <state>['0', '1', '2']</state> + <state>['1', '2']</state> + <state>['2']</state> + </finalStates> +</automaton> diff --git a/examples/automaton/NIDPDA3.DET.xml b/examples/automaton/NIDPDA3.DET.xml new file mode 100644 index 0000000000..48dc4528ab --- /dev/null +++ b/examples/automaton/NIDPDA3.DET.xml @@ -0,0 +1,99 @@ +<automaton> + <states> + <state>['0']</state> + <state>['0', 'B1', 'C1']</state> + <state>['B1', 'B2', 'C2']</state> + <state>['B1', 'B2']</state> + <state>['3', 'C2']</state> + <state>['3']</state> + <state>['4']</state> + </states> + <inputAlphabet> + <symbol>a</symbol> + <symbol>b</symbol> + <symbol>c</symbol> + <symbol>d</symbol> + </inputAlphabet> + <stackAlphabet> + <symbol>a</symbol> + </stackAlphabet> + <transitions> + <transition> + <from>['0']</from> + <input>a</input> + <to>['0', 'B1', 'C1']</to> + <pop></pop> + <push><symbol>a</symbol></push> + </transition> + <transition> + <from>['0', 'B1', 'C1']</from> + <input>a</input> + <to>['0', 'B1', 'C1']</to> + <pop></pop> + <push><symbol>a</symbol></push> + </transition> + <transition> + <from>['0', 'B1', 'C1']</from> + <input>b</input> + <to>['B1', 'B2', 'C2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['B1', 'B2', 'C2']</from> + <input>b</input> + <to>['B1', 'B2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['B1', 'B2', 'C2']</from> + <input>c</input> + <to>['3', 'C2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['B1', 'B2']</from> + <input>b</input> + <to>['B1', 'B2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['B1', 'B2']</from> + <input>c</input> + <to>['3']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['3', 'C2']</from> + <input>c</input> + <to>['3', 'C2']</to> + <pop><symbol>a</symbol></pop> + <push></push> + </transition> + <transition> + <from>['3', 'C2']</from> + <input>d</input> + <to>['4']</to> + <pop></pop> + <push></push> + </transition> + <transition> + <from>['3']</from> + <input>d</input> + <to>['4']</to> + <pop></pop> + <push></push> + </transition> + </transitions> + <initialStates> + <state>['0']</state> + </initialStates> + <startSymbols></startSymbols> + <finalStates> + <state>['4']</state> + </finalStates> +</automaton> -- GitLab