Module jamal.api

Interface Marker


  • public interface Marker
    When a code is starting and ending a scope it has to pass a marker object to the call to MacroRegister.pop(Marker) and MacroRegister.push(Marker). The Marker object passed to MacroRegister.pop(Marker) should be equal to the one that was passed to MacroRegister.push(Marker). This helps preventing the macro code to close a scope in a way that it was not supposed to. For example using the macro @end without a previously matching @begin in a #block macro or in an included file. See how the macros javax0.jamal.builtins.Begin and javax0.jamal.builtins.End use the implementation of this interface provided in the tools module.