Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Operator Precedence Languages: : Their Automata-Theoretic and Logic Characterization

Published: 01 January 2015 Publication History

Abstract

Operator precedence languages were introduced half a century ago by Robert Floyd to support deterministic and efficient parsing of context-free languages. Recently, we renewed our interest in this class of languages thanks to a few distinguishing properties that make them attractive for exploiting various modern technologies. Precisely, their local parsability enables parallel and incremental parsing, whereas their closure properties make them amenable to automatic verification techniques, including model checking. In this paper we provide a fairly complete theory of this class of languages: we introduce a class of automata with the same recognizing power as the generative power of their grammars; we provide a characterization of their sentences in terms of monadic second-order logic as has been done in previous literature for more restricted language classes such as regular, parenthesis, and input-driven ones; we investigate preserved and lost properties when extending the language sentences from finite length to infinite length ($\omega$-languages). As a result, we obtain a class of languages that enjoys many of the nice properties of regular languages (closure and decidability properties, logic characterization) but is considerably larger than other families---typically parenthesis and input-driven ones---with the same properties, covering “almost” all deterministic languages.

References

[1]
L. Afanasiev, P. Blackburn, I. Dimitriou, B. Gaiffe, E. Goris, M.J. Marx, and M. de Rijke, PDL for ordered trees, J. Appl. Non-Classical Logics, 15 (2005), pp. 115--135.
[2]
R. Alur, M. Arenas, P. Barceló, K. Etessami, N. Immerman, and L. Libkin, First-order and temporal logics for nested words, Logical Methods Comp. Sci., 4 (2008), pp. 1--44.
[3]
R. Alur and P. Madhusudan, Visibly pushdown languages, in ACM Symposium on Theory of Computing (STOC), ACM, New York, 2004, pp. 202--211.
[4]
R. Alur and P. Madhusudan, Adding nesting structure to words, J. ACM, 56 (2009), 16.
[5]
B. B. von Braunmühl and R. Verbeek, Input-driven languages are recognized in log n space, in Proceedings of the Symposium on Foundations of Computation Theory, Lecture Notes in Comput. Sci. 158, Springer, Berlin, 1983, pp. 40--51.
[6]
A. Barenghi, S. Crespi Reghizzi, D. Mandrioli, F. Panella, and M. Pradella, The PAPAGENO parallel-parser generator, in 23rd International Conference on Compiler Construction (CC), Springer, Berlin, 2014, pp. 192--196.
[7]
A. Barenghi, S. Crespi Reghizzi, D. Mandrioli, and M. Pradella, Parallel parsing of operator precedence grammars, Inform. Process. Lett., 113 (2013), pp. 245--249.
[8]
J. Berstel and L. Boasson, Balanced grammars and their languages, in Formal and Natural Computing, W. Brauer and G. Rozenberg, eds., Lecture Notes in Comput. Sci. 2300, Springer, Berlin, 2002, pp. 3--25.
[9]
L. Boasson and M. Nivat, Adherences of languages, J. Comput. System Sci., 20 (1980), pp. 285--309.
[10]
A. Boral and S. Schmitz, Model-checking parse trees, in Proceedings 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science, IEEE Computer Society, Washington, DC, 2013, pp. 153--162.
[11]
W. S. Brainerd, The minimalization of tree automata, Inform. and Control, 13 (1968), pp. 484--491.
[12]
J. R. Büchi, On a decision method in restricted second order arithmetic, in Proceedings of the 1960 International Congress on Logic, Methodology and Philosophy of Science (LMPS'60), E. Nagel, P. Suppes, and A. Tarski, eds., Stanford University Press, Stanford, CA, 1962, pp. 1--11.
[13]
O. Burkart and B. Steffen, Model checking for context-free processes, in CONCUR '92, Lecture Notes in Comput. Sci. 630, Springer, Berlin, 1992, pp. 123--137.
[14]
D. Caucal and S. Hassen, Synchronization of grammars, in Computer Science---Theory and Applications, E. A. Hirsch, A. A. Razborov, A. L. Semenov, and A. Slissenko, eds., Lecture Notes in Comput. Sci. 5010, 2008, Springer, Berlin, pp. 110--121.
[15]
C. Choffrut, A. Malcher, C. Mereghetti, and B. Palano, On the expressive power of FO[+], in Language and Automata Theory and Applications, Lecture Notes in Comput. Sci. 6031, Springer, Berlin, 2010, pp. 190--201.
[16]
C. Choffrut, A. Malcher, C. Mereghetti, and B. Palano, First-order logics: Some characterizations and closure properties, Acta Inform., 49 (2012), pp. 225--248.
[17]
E. M. Clarke, E. A. Emerson, and A. P. Sistla, Automatic verification of finite-state concurrent systems using temporal logic specifications, ACM Trans. Program. Lang. Syst., 8 (1986), pp. 244--263.
[18]
S. Crespi Reghizzi and D. Mandrioli, Operator precedence and the visibly pushdown property, J. Comput. System Sci., 78 (2012), pp. 1837--1867.
[19]
S. Crespi Reghizzi, D. Mandrioli, and D. F. Martin, Algebraic properties of operator precedence languages, Inform. and Control, 37 (1978), pp. 115--133.
[20]
S. Crespi Reghizzi, M. A. Melkanoff, and L. Lichten, The use of grammatical inference for designing programming languages, Comm. ACM, 16 (1973), pp. 83--90.
[21]
K. De Bosschere, An operator precedence parser for standard prolog text, Softw., Pract. Exper., 26 (1996), pp. 763--779.
[22]
M. J. Fischer, Some properties of precedence languages, in Proceedings of the First Annual ACM Symposium on Theory of Computing, ACM, New York, 1969, pp. 181--190.
[23]
R. W. Floyd, Syntactic analysis and operator precedence, J. ACM, 10 (1963), pp. 316--333.
[24]
D. Grune and C. J. Jacobs, Parsing Techniques: A Practical Guide, Springer, New York, 2008.
[25]
M. A. Harrison, Introduction to Formal Language Theory, Addison Wesley, Reading, MA, 1978.
[26]
D. E. Knuth, On the translation of languages from left to right, Inform. and Control, 8 (1965), pp. 607--639.
[27]
V. Lonati, D. Mandrioli, F. Panella, and M. Pradella, First-order Logic Definability of Free Languages, in 10th International Computer Science Symposium in Russia (CSR), Lecture Notes in Comput. Sci. 9139, Springer, Cham, Switzerland, 2015, pp. 310--324.
[28]
V. Lonati, D. Mandrioli, and M. Pradella, Precedence automata and languages, in 6th International Computer Science Symposium in Russia (CSR), Lecture Notes in Comput. Sci. 6651, Springer, Berlin, 2011, pp. 291--304.
[29]
V. Lonati, D. Mandrioli, and M. Pradella, Logic characterization of invisibly structured languages: The case of Floyd languages, in 39th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM), Lecture Notes in Comput. Sci. 7741, Springer, Berlin, 2013, pp. 307--318.
[30]
R. McNaughton, Testing and generating infinite sequences by a finite automaton, Inform. and Control, 9 (1966), pp. 521--530.
[31]
R. McNaughton, Parenthesis grammars, J. ACM, 14 (1967), pp. 490--500.
[32]
D. E. Muller, Infinite sequences and finite machines, in Proceedings of the Fourth Annual Symposium on Switching Circuit Theory and Logical Design, SWCT '63, Washington, DC, 1963, IEEE, Piscataway, NJ, pp. 3--16.
[33]
D. Nowotka and J. Srba, Height-deterministic pushdown automata, in Mathematical Foundations of Computer Science 2007, L. Kucera and A. Kucera, eds., Lecture Notes in Comput. Sci. 4708, Springer, Berlin, 2007, pp. 125--134.
[34]
F. Panella, M. Pradella, V. Lonati, and D. Mandrioli, Operator precedence $\omega$-languages, in 17th International Conference on Developments in Language Theory (DLT), Lecture Notes in Comput. Sci. 7907, Springer, Berlin, 2013, pp. 396--408.
[35]
F. Panella, M. Pradella, V. Lonati, and D. Mandrioli, Operator precedence $\omega$-languages, preprint, arXiv:1301.2476, 2013.
[36]
D. Perrin and J.-E. Pin, Infinite Words, Pure Appl. Math. 141, Elsevier, Amsterdam, 2004.
[37]
M. O. Rabin, Automata on Infinite Objects and Church's Problem, CMBS Reg. Conf. Ser. Math., AMS, Providence, RI, 1972.
[38]
A. K. Salomaa, Formal Languages, Academic Press, New York, 1973.
[39]
J. Thatcher, Characterizing derivation trees of context-free grammars through a generalization of finite automata theory, J. Comput. Syst. Sci., 1 (1967), pp. 317--322.
[40]
W. Thomas, Automata on infinite objects, in Handbook of Theoretical Computer Science, Vol. B, MIT Press, Cambridge, MA, 1990, pp. 133--191.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image SIAM Journal on Computing
SIAM Journal on Computing  Volume 44, Issue 4
DOI:10.1137/smjcat.44.4
Issue’s Table of Contents

Publisher

Society for Industrial and Applied Mathematics

United States

Publication History

Published: 01 January 2015

Author Tags

  1. operator precedence
  2. visibly pushdown languages
  3. monadic second-order logic
  4. $\omega$-languages

Author Tags

  1. 03D05
  2. 68Q45

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Temporal logics with language parametersInformation and Computation10.1016/j.ic.2023.105087295:PAOnline publication date: 27-Feb-2024
  • (2024)Cyclic Operator Precedence Grammars for Improved Parallel ParsingDevelopments in Language Theory10.1007/978-3-031-66159-4_8(98-113)Online publication date: 12-Aug-2024
  • (2024)SMT-Based Symbolic Model-Checking for Operator Precedence LanguagesComputer Aided Verification10.1007/978-3-031-65627-9_19(387-408)Online publication date: 24-Jul-2024
  • (2023)A Model Checker for Operator Precedence LanguagesACM Transactions on Programming Languages and Systems10.1145/360844345:3(1-66)Online publication date: 23-Sep-2023

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media