Instrumenting a Context-free Language Recognizer

Paulo Roberto Massa Cereda, João José Neto


Instrumentation plays a crucial role when building language recognizers, as collected data provide basis for achieving better performance and model improvements, thus offering a balance between time and space, as demanded by practical applications. This paper presents a simple yet functional semiautomatic approach for generating a instrumentation-aware context-free language recognizer, enhanced with hooks, from a grammar written using the Wirth syntax notation. The entire process is aided by a set of command line tools, freely available for download. We also introduce the concept of an instrumentation layer enclosing the underlying recognizer, acting as observer for each computational step and collecting data for later use.


  1. Aho, A. V. and Ullman, J. D. (1995). Foundations of Computer Science. W. H. Freeman and Company.
  2. Ball, T. and Larus, J. R. (1994). Optimally profiling and tracing programs. ACM Transactions on Programming Languages and Systems, 16(4):1319-1360.
  3. Cereda, P. R. M. and José Neto, J. (2015). Um arcabouço para extensibilidade em linguagens de programação. In Memórias do IX Workshop de Tecnologia Adaptativa - WTA 2015, pages 18-28, São Paulo.
  4. Cereda, P. R. M. and José Neto, J. (2016). AA4J: uma biblioteca para implementação de autômatos adaptativos. In Memórias do X Workshop de Tecnologia Adaptativa - WTA 2016, pages 16-26.
  5. Cooper, K. and Torczon, L. (2011). Engineering a compiler. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
  6. Hopcroft, J. E. (1971). An n log n algorithm for minimizing states in a finite automaton. In Proceedings of the International Symposium on the Theory of Machines and Computations, pages 189-196, Haifa, Israel. Academic Press.
  7. José Neto, J. (1987). Introdução à compilação. Engenharia de Computação. LTC - Livros Técnicos e Científicos.
  8. José Neto, J. (1993). Contribuições à metodologia de construção de compiladores. Postdoctoral thesis, Escola Politécnica da Universidade de São Paulo, São Paulo.
  9. José Neto, J. (1994). Adaptive automata for context - sensitive languages. SIGPLAN Notices, 29(9):115- 124.
  10. José Neto, J. (2001). Adaptive rule-driven devices: general formulation and case study. In International Conference on Implementation and Application of Automata.
  11. José Neto, J. and Magalhães, M. E. S. (1981). Reconhecedores sintáticos: Uma alternativa didática para uso em cursos de engenharia. In XIV Congresso Nacional de Informática, pages 171-181.
  12. José Neto, J., Pariente, C. B., and Leonardi, F. (1999). Compiler construction: a pedagogical approach. In Proceedings of the V International Congress on Informatic Engineering - ICIE 99, Buenos Aires, Argentina.
  13. Paul, W. and Vahrenhold, J. (2013). Hunting high and low: Instruments to detect misconceptions related to algorithms and data structures. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education, pages 29-34, New York, NY, USA. ACM.
  14. Sebesta, R. W. (2013). Concepts of Programming Languages. Pearson, 10 edition.
  15. Wert, A., Schulz, H., Heger, C., and Farahbod, R. (2015). Generic instrumentation and monitoring description for software performance evaluation. In Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering, pages 203-206, New York, NY, USA. ACM.
  16. Wirth, N. (1977). What can we do about the unnecessary diversity of notation for syntactic definitions? Communications of the ACM, 10(11):822-823.

Paper Citation

in Harvard Style

Cereda P. and José Neto J. (2017). Instrumenting a Context-free Language Recognizer . In Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-758-248-6, pages 203-210. DOI: 10.5220/0006212002030210

in Bibtex Style

author={Paulo Roberto Massa Cereda and João José Neto},
title={Instrumenting a Context-free Language Recognizer},
booktitle={Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},

in EndNote Style

JO - Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Instrumenting a Context-free Language Recognizer
SN - 978-989-758-248-6
AU - Cereda P.
AU - José Neto J.
PY - 2017
SP - 203
EP - 210
DO - 10.5220/0006212002030210