Skip to content

Commit fe6d216

Browse files
committed
Fix concrete grammar, remove dependence on semantic files in Fraud lang.
1 parent 22def6f commit fe6d216

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

www/notes/fraud.scrbl

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,23 @@
22

33
@(require (for-label (except-in racket ... compile) a86/ast))
44
@(require redex/pict
5+
redex/reduction-semantics
56
racket/runtime-path
67
scribble/examples
7-
(except-in fraud/semantics ext lookup)
8-
(prefix-in sem: (only-in fraud/semantics ext lookup))
98
"utils.rkt"
109
"ev.rkt"
1110
"../utils.rkt")
1211

12+
13+
@(define-language L (e ::= ignored))
14+
@(define-extended-language F-let L
15+
(e ::= .... x (let ((x e)) e))
16+
(x ::= variable))
17+
18+
@(define-extended-language F-prim2 L
19+
(e ::= .... (p2 e_1 e_2))
20+
(p2 ::= + - = <))
21+
1322
@(define codeblock-include (make-codeblock-include #'h))
1423

1524
@(ev '(require rackunit a86 fraud fraud/translate))
@@ -63,7 +72,7 @@ variables to the syntax of expressions.
6372

6473
Together this leads to the following grammar for @|this-lang|:
6574

66-
@centered{@render-language[F-pre]}
75+
@centered{@render-language[F-let]}
6776

6877
Which can be modeled with the following data type definition:
6978

@@ -112,9 +121,9 @@ What's new are the following @emph{binary} operations:
112121
(= _e0 _e1)
113122
]
114123

115-
This leads to the following revised grammar for @|this-lang|:
124+
This leads to the following additions to the grammar for @|this-lang|:
116125

117-
@centered[(render-language G)]
126+
@centered[(render-language F-prim2)]
118127

119128
We can model it as a datatype as usual:
120129

0 commit comments

Comments
 (0)