Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /trunk/semantics/semantics
ViewVC logotype

Annotation of /trunk/semantics/semantics

Parent Directory Parent Directory | Revision Log Revision Log


Revision 489 - (view) (download)

1 : lamonts 489 Diderot Formal Semantics
2 :     ===============================
3 :    
4 :     variable ::= string
5 :     id ::= integer
6 :    
7 :     Arithmetic expression (Aexp)
8 :     e ::= n for n ∈ R or n ∈ Z
9 :     | x for x = variable
10 :     | e1 + e2 for e1,e2 ∈ Aexp, Aexp
11 :     | e1 - e2 for e1,e2 ∈ Aexp, Aexp
12 :     | e1 * e2 for e1,e2 ∈ Aexp, Aexp
13 :     | e1 / e2 for e1,e2 ∈ Aexp, Aexp
14 :    
15 :     Relational expression (Rexp)
16 :     b ::= true
17 :     | false
18 :     | e1 == e2 for e1,e2 ∈ Aexp, Aexp
19 :     | e1 < e2 for e1,e2 ∈ Aexp, Aexp
20 :     | e1 > e2 for e1,e2 ∈ Aexp, Aexp
21 :     | e1 <= e2 for e1,e2 ∈ Aexp, Aexp
22 :     | e1 >= e2 for e1,e2 ∈ Aexp, Aexp
23 :    
24 :     Commands (Comm)
25 :     c ::= x := e for x = variable, e ∈ Aexp
26 :     | c1; c2 for c1,c2 ∈ Comm
27 :     | if b then c1 else c2 for c1,c2 ∈ Comm and b ∈ Rexp
28 :    
29 :     Values
30 :     v := Num(n) | Bool(b) | String(s) | tensor...??
31 :    
32 :     Strand_Status := Active | Dead | Stablized
33 :    
34 :     env = variable → value
35 :    
36 :     Strand_Env = Strand_Status * id * commands * env
37 :    
38 :    
39 :     Update: Strand_Env -> Strand_Env
40 :    
41 :     Rules:
42 :    
43 :     (1) -------------------------------------------------------------
44 :     Update(<Stabalized,id,comm,env>) ⇓ <Stabalized,id,comm,env>
45 :    
46 :    
47 :     (2) (Doubt this will ever happen...?)
48 :     -------------------------------------------------------------
49 :     Update(<Dead,id,comm,env>) ⇓ <Dead,id,comm,env>
50 :    
51 :     Update(<Active,_,e,env>) ⇓ v
52 :     (3) -------------------------------------------------------------
53 :     Update(<Active,_,x:=e,env>) ⇓ env[x:=v]
54 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0