DocumentCode :
3022334
Title :
Growing a Language in Pattern Calculus
Author :
Jay, Barry ; Vergara, Josefina
Author_Institution :
Univ. of Technol., Sydney, NSW, Australia
fYear :
2013
fDate :
1-3 July 2013
Firstpage :
233
Lastpage :
240
Abstract :
Pattern calculus treats all computation as pattern matching, which is, in turn, central to the implementation of programming languages. Hence, its realisation in the general purpose language bondi provides a natural host in which to develop domain-specific languages (DSLs). bondi is a strongly typed language that supports mixing of programming styles to support the features required for language implementation. In particular, bondi supports queries, views and transformations that can be used to develop object-oriented meta-models. The approach is illustrated by growing a small combinatory language in which each language feature i.e. each production of each grammar, is isolated within a single object-oriented class that captures the rules for parsing, type inference, evaluation and printing. Further, growth is used to support lambda-abstractions, providing good evidence that this combinatory language could grow to support a general purpose programming language.
Keywords :
grammars; inference mechanisms; object-oriented programming; process algebra; specification languages; DSL; bondi; domain-specific languages; general purpose programming language; lambda-abstractions; object-oriented class; object-oriented meta-models; parsing; pattern calculus; pattern matching; programming languages; type inference; Calculus; Data structures; Grammar; Pattern matching; Printing; Programming; Syntactics;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Theoretical Aspects of Software Engineering (TASE), 2013 International Symposium on
Conference_Location :
Birmingham
Type :
conf
DOI :
10.1109/TASE.2013.37
Filename :
6597903
Link To Document :
بازگشت