
Code generated from (symbol · (number
+
∨ string
+
))
+
( tag b ody
0
( u n l e s s se q ( r e t u r n n i l ) )
( t y p e c a s e ( pop s e q )
( symbol ( go 1 ) )
( t ( r e t u r n n i l ) ) )
1
( u n l e s s se q ( r e t u r n n i l ) )
( t y p e c a s e ( pop s e q )
( number ( go 2 ) )
( s t r i n g ( go 3 ) )
( t ( r e t u r n n i l ) ) )
2
( u n l e s s se q ( r e t u r n t ) )
( t y p e c a s e ( pop s e q )
( number ( go 2 ) )
( symbol ( go 1 ) )
( t ( r e t u r n n i l ) ) )
0 1
2
3
symbol
number
string
symbol
number
symbol
string
3
( u n l e s s se q ( r e t u r n t ) )
( t y p e c a s e ( pop s e q )
( s t r i n g ( go 3 ) )
( symbol ( go 1 ) )
( t ( r e t u r n n i l ) ) ) ) )
Jim Newton (12th European Lisp Symposium)Finite Automata Theory Based Optimization of Conditional Variable Binding1,2 April 2019 9 / 32