Skip to content

Sinusoidal parsing walkthrough

Adam Dernis edited this page Aug 21, 2021 · 3 revisions
 5*\sin{5x+\sin{10}}
^
--------------
state_: Begin
cache_: ""
5*\sin{5x+\sin{10}}
^
--------------
state_: Integer
cache_: "5"
5*\sin{5x+\sin{10}}
 ^
--------------
   * <
   |
   5
state_: Nary operator
cache_: ""
5*\sin{5x+\sin{10}}
  ^
--------------
   * <
   |
   5
state_: Partial function
cache_: ""

(Next three (3) steps merged)

5*\sin{5x+\sin{10}}
     ^
--------------
   * <
   |
   5
state_: Partial function
cache_: "sin"
5*\sin{5x+\sin{10}}
      ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 0
----------------
state_: Begin
cache_: ""
5*\sin{5x+\sin{10}}
       ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 0
----------------
state_: Integer
cache_: "5"
5*\sin{5x+\sin{10}}
        ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 0
----------------
   * <
  / \
 5   x
state_: Variable
cache_: ""
5*\sin{5x+\sin{10}}
         ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 0
----------------
   + <
   |    
   *
  / \
 5   x
state_: Variable
cache_: ""
5*\sin{5x+\sin{10}}
          ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 0
----------------
   + <
   |    
   *
  / \
 5   x
state_: Partial function
cache_: ""

(Next three (3) steps merged)

5*\sin{5x+\sin{10}}
             ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 0
----------------
   + <
   |    
   *
  / \
 5   x
state_: Partial function
cache_: "sin"
5*\sin{5x+\sin{10}}
              ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 1
----------------
   + <
   |    
   *
  / \
 5   x
state_: Function
cache_: "sin"
----------------
depth_: 0
5*\sin{5x+\sin{10}}
              ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 1
----------------
   + <
   |    
   *
  / \
 5   x
state_: Function
cache_: "sin"
----------------
depth_: 0
----------------
state_: Begin
cache_: ""
5*\sin{5x+\sin{10}}
               ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 1
----------------
   + <
   |    
   *
  / \
 5   x
state_: Function
cache_: "sin"
----------------
depth_: 0
----------------
state_: Integer
cache_: "1"
5*\sin{5x+\sin{10}}
                ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 1
----------------
   + <
   |    
   *
  / \
 5   x
state_: Function
cache_: "sin"
----------------
depth_: 0
----------------
state_: Integer
cache_: "10"
5*\sin{5x+\sin{10}}
                 ^
--------------
   * <
   |
   5
state_: Function
cache_: ""
----------------
depth_: 0
----------------
      + <
    /   \   
   *     sin
  / \     |
 5   x    10
state_: Done
cache_: "" 
5*\sin{5x+\sin{10}}
                 ^
--------------
      *
    /   \
   5     + <
       /   \
      *     sin
    /   \    |
   5     x   10
state_: Function
cache_: ""
5*\sin{5x+\sin{10}}
                 ^
--------------
      *
    /   \
   5     + 
       /   \
      *     sin
    /   \    |
   5     x   10
state_: Done
cache_: ""
Clone this wiki locally