Baltic Computer Science Conference

BCS 1991: Baltic Computer Science pp 529-564 | Cite as

Rigal — a programming language for compiler writing

  • Mikhail Auguston
Part of the Lecture Notes in Computer Science book series (LNCS, volume 502)


A new programming language for compiler writing is described. The main data structures are atoms, lists and trees. The control structures are based on advanced pattern matching. All phases of compilation, including parsing, optimization and code generation, can be programmed in this language in short and readable form. Sample compiler written in RIGAL is presented.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A.Aho, J.Ullman. The theory of parsing, translation and compiling// Prentice-Hall, Inc. Englewood Cliffs,N.J. 1972. — vol.1,2.Google Scholar
  2. [2]
    S.C.Johnson. YACC — Yet Another Compiler Compiler // Bell Laboratories, Murray Hill,N.J., 1978, A technical manual.Google Scholar
  3. [3]
    C.H. Koster. Using the CDL Compiler Compiler// Lecture Notes in Computer Science, Vol.21, Springer-Verlag, Berlin, 1977.Google Scholar
  4. [4]
    I.R. Agamirzyan. Compiler Design Technological Support System SHAG. // Space mechanics algorithms, Leningrad, vol. 79, 1985, pp.1–53., ( in Russian).Google Scholar
  5. [5]
    D.E. Knuth. Semantics of context-free languages// Mathematical Systems Theory, 2, 2, 1968, pp.127–146.CrossRefGoogle Scholar
  6. [6]
    V.A.Serebryakov. Methods of Attribute Translation.// In: Programming Languages, Moscow, "Nauka", 1985, pp.47–79, (in Russian).Google Scholar
  7. [7]
    A.O.Vooglaid, M.V.Lepp, D.B.Lijb. Input Languages of the ELMA System.// Proceedings of the Tallinn Polytechnical Institute, #524, 1982, pp.79–96, (in Russian).Google Scholar
  8. [8]
    The intermediate language DIANA: Design and Implementation//Lecture Notes in Computer Science, Vol.180, Springer-Verlag Berlin, 1984.Google Scholar
  9. [9]
    R.Vilhelm. Presentation of the compiler generation system MUG2: Examples, global flow analysis and optimization// Le point sur la compilation, INRIA, 1978, pp.307–336.Google Scholar
  10. [10]
    Basic REFAL and its implementation on computers.// CNIPIASS, Moscow, 1977, (in Russian).Google Scholar
  11. [11]
    P.Lucas. Formal definition of programming languages and systems// IFIP Congress, 1971.Google Scholar
  12. [12]
    M.Ganapatti, C.N.Fisher, J.L.Hennessy. Retargetable compiler code generation// ACM Computing Survays, 14(4), 1982.Google Scholar
  13. [13]
    J.Barzdin, A.Kalnins, M.Auguston, SDL tools for rapid prototyping and testing.// in SDL'89: The language at work, ed. O.Faergemand and M.M.Marques, North-Holland, 1989, pp.127–133.Google Scholar
  14. [14]
    R. Herndon, V. Berzins, The realizable benefits of a language prototyping languages.// IEEE Transactions on Software Engineering, vol.14, No 6, June 1988, pp.803–809.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Mikhail Auguston
    • 1
  1. 1.Institute of Mathematics and Computer ScienceThe University of LatviaRigaLatvia

Personalised recommendations