+ (init
+ (starter (pushback 1) (shift start)))
+
+ (start
+ (consonant (shift first))
+ (independent (shift ayogavaaha))
+ (backspace)
+ (return (shift init)))
+
+ (first
+ (consonant (set a @-1) (undo -1) (commit) (pushback a) (shift start))
+ (ayogavaaha (shift finish))
+ (dependent (shift ayogavaaha))
+ (halantha (shift second))
+ (backspace)
+ (return (shift init)))
+
+ (second
+ (consonant (shift first))
+ (backspace)
+ (return (shift init)))
+
+ (ayogavaaha
+ (ayogavaaha (shift ayogavaaha))
+ (backspace)
+ (return (shift init))
+
+ (finish
+ (backspace)
+ (return))
+)
+
+;; (finish
+;; (return)
+;; (t (shift init))))
+
+;; Local Variables:
+;; coding: utf-8
+;; mode: lisp
+;; End: