Skip to content

Commit 2191355

Browse files
committed
Format class parsing section
1 parent 220af83 commit 2191355

1 file changed

Lines changed: 23 additions & 10 deletions

File tree

state-manipulation.scm

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,19 +1257,20 @@
12571257
;------------------------------------------------------------------------------------------------------------------
12581258
;------------------------------------------------------------------------------------------------------------------
12591259

1260-
; Parses a parsed file into our state (which initially is our initstate)
1260+
; Converts a parsed file into our state, and adds a new scope to the front once conversion is complete
12611261
(define G-parsed-file-to-state->state
12621262
(lambda (parsedFile state)
12631263
(G-add-empty-scope-to-state->state (parse-file-to-state parsedFile state))))
12641264

1265+
; Converts a parsed file into a state
12651266
(define parse-file-to-state
12661267
(lambda (parsedFile state)
12671268
(cond
12681269
((null? parsedFile) state)
12691270
(else (parse-file-to-state (next-parsedfile parsedFile)
12701271
(G-add-class-to-state->state (get-top-parsedfile parsedFile) state))))))
12711272

1272-
; adds a (class, closure) to the state, as well as its contents
1273+
; Adds a (class, closure) to the state, as well as its contents
12731274
; The contents are: (classname, name), (super, classname), (staticField, value), (staticFunction, value)
12741275
(define G-add-class-to-state->state
12751276
(lambda (class state)
@@ -1286,7 +1287,9 @@
12861287
((null? contents) state)
12871288
(else (add-statics-to-state->state (get-class-closure-value contents)
12881289
(push-superclass-to-state->state (get-superclasscontents-from-contents contents)
1289-
(push-classname-to-state->state (get-classname-from-contents contents) (get-class-closure-value contents) state)))))))
1290+
(push-classname-to-state->state (get-classname-from-contents contents)
1291+
(get-class-closure-value contents)
1292+
state)))))))
12901293

12911294
; Pushes a (classname, name) to the value section of the most recent class in the top scope of the state
12921295
; closure = '((var x 5) (var b 3))
@@ -1296,35 +1299,40 @@
12961299
((null? classname) (error "No classname"))
12971300
(else (list (push-classname-to-scope->scope classname closure (get-top-scope state)))))))
12981301

1299-
; helper for push-classname-to-state-state, returns a classname pushed to the first scope's class
1302+
; Helper for push-classname-to-state-state, returns a classname pushed to the first scope's class
13001303
(define push-classname-to-scope->scope
13011304
(lambda (name closure scope)
13021305
(merge-scope-sections (add-name-to-scope name scope)
13031306
(add-closure-to-scope closure scope))))
13041307

1308+
; Merges a variable and value section of a scope together into a scope
13051309
(define merge-scope-sections
13061310
(lambda (variables values)
13071311
(list variables values)))
13081312

1313+
; Adds a name (classname) to a scope
13091314
(define add-name-to-scope
13101315
(lambda (name scope)
13111316
(cons name (get-variable-section-state scope))))
13121317

1318+
; Adds a closure to a scope
13131319
(define add-closure-to-scope
13141320
(lambda (closure scope)
13151321
(cons (list closure) (get-value-section-state scope))))
13161322

1323+
; Pushes a superclass to a state
13171324
(define push-superclass-to-state->state
13181325
(lambda (supercontents state)
13191326
(list (push-superclass-to-scope->scope supercontents (get-top-scope state)))))
13201327

1328+
; Adds a superclass to a scope when given supercontents, which contain a classname or null for no superclass
13211329
(define push-superclass-to-scope->scope
13221330
(lambda (supercontents scope)
13231331
(cond
13241332
((null? supercontents) (add-superclass-to-scope empty-supercontents-name scope))
13251333
(else (add-superclass-to-scope (get-supercontents-name supercontents) scope)))))
13261334

1327-
1335+
; Adds and creates a superclass list: '(superclass classname) to a staticscope
13281336
(define add-superclass-to-scope
13291337
(lambda (superclassname scope)
13301338
(merge-scope-sections (get-variable-section-state scope)
@@ -1352,32 +1360,37 @@
13521360
(get-rest-value-section (get-value-section-state classcope)))))
13531361
((eq? (get-closure-name closure) 'static-var)
13541362
(add-statics-to-scope->scope (next-closure closure) classcope (G-push-state->state (get-closure-variable-contents closure)
1355-
(get-closure-var-contents closure) nestedstate)))
1363+
(get-closure-var-contents closure)
1364+
nestedstate)))
13561365
((eq? (get-closure-name closure) 'static-function)
1357-
(add-statics-to-scope->scope (next-closure closure) classcope (G-push-state->state (get-closure-variable-contents closure) (get-closure-function-contents closure) nestedstate)))
1366+
(add-statics-to-scope->scope (next-closure closure) classcope (G-push-state->state (get-closure-variable-contents closure)
1367+
(get-closure-function-contents closure)
1368+
nestedstate)))
13581369
(else (add-statics-to-scope->scope (next-closure closure) classcope nestedstate)))))
13591370

13601371
; Helper functions for easy access/lookup to our state for class operations
13611372
; LOOKUP SECTION ----------------------------------------------------------
1362-
13631373
; Gets a class's staticscope (the scope with static fields and functions)
13641374
(define G-get-class-closure
13651375
(lambda (classname state)
13661376
(get-closure-section (get-value-from-pair (G-value-lookup->value_state classname state empty-cfuncs)))))
13671377

1378+
; Get the superclass classname of a class
13681379
(define G-get-class-superclass
13691380
(lambda (classname state)
13701381
(get-superclass-classname-section (get-value-from-pair (G-value-lookup->value_state classname state empty-cfuncs)))))
13711382

1383+
; Get the classname of an instance
13721384
(define G-get-instance-classname
13731385
(lambda (instancename state)
13741386
(get-classname-section get-classname-section (get-value-from-pair (G-value-lookup->value_state instancename state empty-cfuncs)))))
13751387

1388+
; Get an instancestate of an instance
13761389
(define G-get-instance-state
13771390
(lambda (instancename state)
13781391
(get-instance-section (get-value-from-pair (G-value-lookup->value_state instancename state empty-cfuncs)))))
13791392

1393+
; Get a class's staticscope given a classname
13801394
(define G-get-class-staticscope->staticscope
13811395
(lambda (classname state)
1382-
(get-staticscope-section (get-value-from-pair (G-value-lookup->value_state classname state empty-cfuncs)))))
1383-
1396+
(get-staticscope-section (get-value-from-pair (G-value-lookup->value_state classname state empty-cfuncs)))))

0 commit comments

Comments
 (0)