Interactive Parsing

version 3 by Jon Ingold

  • Home page
  • Beginning
  • Previous
  • Next



  • Chapter 2 - Hook into new input system

    Section 1 - Keyboard Primitive diverted to a new input routine

    Include (-

    [ KeyboardPrimitive a_buffer a_table;
    #Ifdef DEBUG; #Iftrue ({-value:NUMBER_CREATED(test_scenario)} > 0);
        return TestKeyboardPrimitive(a_buffer, a_table);
    #Endif; #Endif;

    ! We should only use this input routine if our mode is on.
    ! Incidentally, we should be careful with Disambiguation questions, too, which will come through here.

    #ifndef USE_INTERACTIVE_PARSER_OVERRIDE;
        if ((+current text input window+) == (+key-window+))
            return New_Key_Input(a_buffer, a_table);
        else
            return VM_ReadKeyboard(a_buffer, a_table);
    #ifnot;
        return VM_ReadKeyboard(a_buffer, a_table);
    #endif;

    ];

    -) instead of "Keyboard Primitive" in "Parser.i6t".