source: applications/trunk/LFC/lfc.ast @ 3799

Last change on this file since 3799 was 3799, checked in by orlov, 12 years ago
  • Refal AST for LFC (not finished yet).
  • Property svn:keywords set to Author Date Id Revision
File size: 665 bytes
Line 
1/* $Id: lfc.ast 3799 2008-06-02 17:32:55Z orlov $ */
2
3e.program ::= t.func_def e.func_defs
4
5e.func_defs ::= /*empty*/ | t.func_def e.func_defs
6
7t.func_def ::= (FUNC t.name (e.func_type) (e.var_decls) t.sentence e.sentences)
8
9e.func_type ::= t.type e.types t.type
10
11e.tpyes ::= /*empty*/ | t.type e.types
12
13e.var_decls ::= /*empty*/ | (t.var e.vars t.type) e.var_decls
14
15e.vars ::= /*empty*/ | t.var e.vars
16
17e.sentences ::= /*empty*/ | t.sentence e.sentences
18
19t.sentence ::= (SENTENCE t.name (t.pattern e.patterns) t.term e.exp)
20
21e.patterns ::= /*empty*/ | t.pattern e.patterns
22
23e.exp ::= /*empty*/ | t.term e.exp
24
25t.type ::= (TYPE t.name)
26
27t.var ::= (VAR t.name)
28
29t.name ::= ([characters])
30
31(e.patterns) e.exp
Note: See TracBrowser for help on using the repository browser.