Dynamic Integration of Foreign-Language Parsers into an NCL Player - Dodsworth, Jorge P.; Terças, Lucas de Macêdo; Guedes, Alan L.V.; Lima, Guilherme F.; Soares Neto, Carlos de Salles; Colcher, Sérgio (Proceedings of the Brazilian Symposium on Multimedia and the Web (WebMedia); 2018: Proceedings of the 24th Brazilian Symposium on Multimedia and the Web, 2018)
We describe how we modified an NCL player to accept as input, in addition to NCL documents, Lua scripts. These Lua scripts evaluate to a table in a particular format, called NCL-ltab, which is a Lua table encoding of the NCL player's internal model. One advantage of our modifications is that they allow the NCL parsing to occur in the Lua script, i.e., outside the formatter but integrated in its execution flow. The same applies for parsers of dialects of NCL or similar languages. Another advantage is that new parsers can be plugged dynamically into the formatter (if they are written in Lua or can be called from Lua). In this paper, we detail the internal model of the NCL player we are using and the NCL-ltab input format. To evaluate our proposal, we present two parser-integration use cases, one for NCL itself, using the DietNCL parsing toolkit, and another for sNCL, an alternative, user-friendlier syntax for NCL.