From 023ae00e71b5cbbd784db91b535859eb876431f7 Mon Sep 17 00:00:00 2001 From: Simon Kellet Date: Sat, 7 Mar 2026 11:02:36 +0000 Subject: [PATCH] init --- cm | Bin 0 -> 471680 bytes main.odin | 37 ++++ parse.odin | 90 +++++++++ test/website/.DS_Store | Bin 0 -> 8196 bytes test/website/HTML/css/style.css | 52 +++++ test/website/MARKDOWN/A5Week1.md | 301 ++++++++++++++++++++++++++++ test/website/MARKDOWN/A5Week2.md | 273 +++++++++++++++++++++++++ test/website/MARKDOWN/A5Week3.md | 193 ++++++++++++++++++ test/website/MARKDOWN/A5Week4.md | 230 +++++++++++++++++++++ test/website/MARKDOWN/A5Week5.md | 7 + test/website/MARKDOWN/A5Week8.md | 2 + test/website/MARKDOWN/css/style.css | 52 +++++ test/website/css/style.css | 52 +++++ 13 files changed, 1289 insertions(+) create mode 100755 cm create mode 100644 main.odin create mode 100644 parse.odin create mode 100644 test/website/.DS_Store create mode 100755 test/website/HTML/css/style.css create mode 100644 test/website/MARKDOWN/A5Week1.md create mode 100644 test/website/MARKDOWN/A5Week2.md create mode 100644 test/website/MARKDOWN/A5Week3.md create mode 100644 test/website/MARKDOWN/A5Week4.md create mode 100644 test/website/MARKDOWN/A5Week5.md create mode 100644 test/website/MARKDOWN/A5Week8.md create mode 100755 test/website/MARKDOWN/css/style.css create mode 100755 test/website/css/style.css diff --git a/cm b/cm new file mode 100755 index 0000000000000000000000000000000000000000..0ad249f873e8c057fa5f8f235a5aeb440be99ca3 GIT binary patch literal 471680 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�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%0D_D{4eQ2(WrOP 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 tPwK~dR$AzZbquA=yOFvwKp{b^&!wz>n>2d_k [dynamic]string { + + files := make([dynamic]string, allocator) + + w := os.walker_create(path) + defer os.walker_destroy(&w) + + for info in os.walker_walk(&w) { + //handle errors + if path, err := os.walker_error(&w); err != nil { + fmt.eprintfln("failed walking %s: %s", path, err) + continue + } + + //Skip a dir + if strings.has_suffix(info.fullpath, ".git") { + os.walker_skip_dir(&w) + continue + } + + if !strings.has_suffix(info.name, MD_SUFFIX) { + continue //skip + } + + append(&files, strings.clone(info.fullpath, allocator)) + + } + // Handle error if one happened during iteration at the end: + if path, err := os.walker_error(&w); err != nil { + fmt.eprintfln("failed walking %s: %v", path, err) + } + return files +} + +walk_tree :: proc(path: string) -> []u8 { + filename: string + md_file: []u8 + + w := os.walker_create(path) + defer os.walker_destroy(&w) + + for info in os.walker_walk(&w) { + //handle errors + if path, err := os.walker_error(&w); err != nil { + fmt.eprintfln("failed walking %s: %s", path, err) + continue + } + //lets play around + filename = info.name + if !strings.has_suffix(info.name, MD_SUFFIX) { + continue + } else { + return md_file + } + } + return nil +} + + +parse_file_md_to_html :: proc( + filename: string, + allocator := context.allocator, +) -> ( + parsed: cstring, + err: os.Error, +) { + str: []u8 + str = os.read_entire_file_from_path(filename, allocator) or_return + + root := cm.parse_document(raw_data(str), len(str), cm.DEFAULT_OPTIONS) + defer cm.node_free(root) + + html := cm.render_html(root, cm.DEFAULT_OPTIONS) + defer cm.free(html) + + return html, nil +} diff --git a/test/website/.DS_Store b/test/website/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9bfbf2cf788dd93d9da43954290a9c2960dcc2db GIT binary patch literal 8196 zcmeHMTWl0n7(U-=fmxZzlu~G6mM*OjDO4)91|-1t#;v8rUhKAD%kIul#!hGJ&g`}& z5*r^-#Q0<)USHH`jM1n;Uo-*n_Gn0BLU=$W#+Ybg;)C*n{%6jV(3X9asLV;u`R1Je z{O9cX_xtAL-(`%UDQDcvSUF=%p(;>YOwCP-u!}mc@L;5f5aiET3+rTktiyKm>l5 z17QTh2!s&`BM?R)jKIGk0(57Kq7=CIr8R8B2!s*1Eh8Y_4>76&;{i@d^j{s+_$dHk zF%A2Lo+%ITePRK|1DulRyV9C6dqCidAjN=mCwojxCyWO;B~iLFNOy){X9O7v{N2ef z=1*scOAOmE0$~K^M?mE63fs>bSr==&F@I0lnG|D1snnQlxn5n}CGeu+1q&A`kvkTv z>YaL`KQVCd(8EKTmUGQ6(@uI;-fT&FraPo9agS!k_og$>fvlOg%<;Z-#?Fm8WGP7} z?R1VNn~k>JZ5=b+f#gJwIpK+C;h4^5Z2LgQwLB~1^e4PRro@1o$$HKHx(SQ6k_#*q z+jWi!XZIm9>k>vH?=C5itzCc5eOtCS?%LPUHLaB_Emh0Z6@7WjwNkd(J8l`?(f*{H zHXXxqh6gOebUf>bWo9EK*cj@#+rU0|2k74|dxon2#pfujftN>G7HtVaztq89gKC)&}0P8>i# zOdP>5#*o7}CNPO7@FY&+X`I4yco8q-6}*Z!@gCmC2lx=5;0t_-ukZ~n<9qyoEBFO} z;7?rToG;^Ld^xY=F}{Xx;Prer-^=&$Hr~#A`5+(WHqXg3@ZjQNgR{@ZPf-763LKLP z__%1 zyUMO%F*KCnE+TvbwxJbmM0!E_E*!)m3}OgLJc1F7!Xf%k;us#oaXgNvi2kSW44%dF zIE@$Z5?;p}B!Rc^HVNPiKElU1i*q=S&jTr3Bq98S-{z3JV-C3m>F1F<-<@^rj5AEO z8Bxr33wyUD0^;tcQZDlU*22I4`;)>Zj6fKH|7QeH+|u3BL}x4XHWs;djOt;kqKJ7@ t5`7nH{B)eqPsa(b|6xeaF`6oT;sH)cq!B8&{D*+>{txeepLw@;^EZQi3LXFe literal 0 HcmV?d00001 diff --git a/test/website/HTML/css/style.css b/test/website/HTML/css/style.css new file mode 100755 index 0000000..cfcb1bc --- /dev/null +++ b/test/website/HTML/css/style.css @@ -0,0 +1,52 @@ +@import url('https://fonts.googleapis.com/css?family=Roboto+Mono'); +@import url('https://fonts.googleapis.com/css?family=Roboto'); +@import url('https://fonts.googleapis.com/css?family=Anton'); + +body { + padding: 20px; + background-color: #1e1e2e; + color: #cdd6f4; + font-family: "Roboto Mono"; + font-size: 14px; + line-height: 22px; + margin: 0 auto; + max-width: 960px; +} + +pre { + color: #f9e2af; +} + +blockquote { + color: #f9e2af; +} + +a { + color: #f5e0dc; + text-decoration: none; +} + +a:hover { + color: #a6e3a1; +} + +h1 { + font-size: 20px; + color: #eba0ac; + margin-bottom: 0px; +} + +h2, h3, h4, h5, h6 { + font-size: 16px; + color: #51afef; + margin-bottom: 0px; +} + +li { + color: #a6e3a1; +} + +p { + padding: 0px; + margin: 0px; +} diff --git a/test/website/MARKDOWN/A5Week1.md b/test/website/MARKDOWN/A5Week1.md new file mode 100644 index 0000000..7749b98 --- /dev/null +++ b/test/website/MARKDOWN/A5Week1.md @@ -0,0 +1,301 @@ +# CSCU9A5 Week 1 + +## Read Chapters 1 and 2 of Clean Code +> You get the drift. Indeed, the ratio of time spent reading vs. writing is well over 10:1. We are constantly reading old code as part of the effort to write new code. Because this ratio is so high, we want the reading of code to be easy, even if it makes the writing harder. Of course there’s no way to write code without reading it, so making it easy to read actually makes it easier to write. + +### Class names +> Classes and objects should have noun or noun phrase names like Customer, WikiPage, Account, and AddressParser. Avoid words like Manager, Processor, Data, or Info in the name of a class. A class name should not be a verb. + +### Method names +> Methods should have verb or verb phrase names like postPayment, deletePage, or save. Accessors, mutators, and predicates should be named for their value and prefixed with get, set, and is according to the javabean standard. +```java +string name = employee.getName(); +customer.setName("mike"); +if (paycheck.isPosted())... +``` +> When constructors are overloaded, use static factory methods with names that describe the arguments. For example, +```java +Complex fulcrumPoint = Complex.FromRealNumber(23.0); +``` +> is generally better than +```java +Complex fulcrumPoint = new Complex(23.0); +``` +> Consider enforcing their use by making the corresponding constructors private. + +### Note: Listings 2-1 and his solution in 2-2 make me cringe +Its too long! Random methods with very long names makes it hard to read on screens like IDE's. You also end up jumping around the code, back and forth and trying to figure out what method returns what and where the next bit of code goes. There is also the issue of creating entire methods for one case of something happening. You could easily split the decision making within the one method with better coding. You can check if there is more and 0 counts and then handle what happens there. We already have access to all the variables we need passed as parameters, why split this off into many methods. I hate it. + +## Extended BNF (EBNF) +* We can use * to make things **appear 0-to-many times** by wrapping then in brackets + +```text +N ::== a | (b | c)* +``` +This can be read as **"N may consist of a or alternatively a series of characters comprising zero to many b or c"**. A valid syntax matching this rule would include: +* "a" +* an empty string (the * helps with this as its 0 to many) +* "b" +* "c" +* "bc" +* "cb" +* "cbcbcbc" +* or "ccccccb" + +## Example +We have a simple programming language that allows the user to write arithmetic sums for some existing variables **a, b, c, d, or e**. We can use +, -, /, * and () on the variables too. +```text +Expression ::== primary-Expression (Operator primary-Expression)* +primary-Expression ::== Identifier + | (Expression) +Idenifier ::== a | b | c | d | e +Operator ::== + | - | / | * +``` +For example: +```text +a + (b * c) +``` + +Here you can view the [Java](https://docs.oracle.com/javase/specs/jls/se18/html/jls-19.html) specifications as well as [Pythons](https://docs.python.org/3/reference/grammar.html)! [Go](https://go.dev/ref/spec) has a very good break down of its grammar, with lots of documentation! + +## Triangle + +## Features of Triangle: + +* Three primitive types of variables: + * Boolean (i.e. true or false) + * Char (a single character; same as the Java char type) + * Integer (values between -32767 and 32767) + +* Two types of composite variable: + * Records (a bit like dictionaries in python) + * Arrays + +* There are no strings or floating point types built-in + +* Let blocks are used to declare local constants, variables, procedures and functions (see repl.tri and factorials.ri below) + +* The only conditional command is **if** and the only loop command is **while** + +* **if** commands look like this: + * if x < y then *dostuff* else *dootherstuff* + * the “else” is needed, but can just be followed by ; (do nothing) + +* **while** commands look like this: + * while x < y do *dostuff* + +* **begin** and **end** signify a block of commands; the same as {} in Java or indentation in Python + +* Assignment of a value to a variable is done using the := operator like this + * a := 10 + * +* We can also bind values within declarations by using **~** + +* **put()** and **get()**, and similarly named functions, are used to write and read from the console + +### Examples of Triangle (.tri) +``` +#hi.tri +begin + put('H'); put('i'); put('!') +end +``` +Output: **Hi!** + +``` +#while.tri +let + var a : Integer +in +begin + a := 0; + while a < 5 do + begin + put('a'); + a := a + 1; + end +end +``` +Output: **aaaaa** + +``` +#str.tri +let + type Str ~ array 10 of Char; + + func replicate (c: Char): Str ~ + [c,c,c,c,c,c,c,c,c,c]; + + var s: Str +in + +begin + s := replicate('*'); + put (s[0]); put(s[9]); puteol() +end +``` +Output: ** + +## AST Examples + +***See OneNote folder (Year\ 3/AST/) for the answers*** + +## Syntactic Analysis + +Let's have a look at Java's syntax + +```java +int myNumber = 55; +``` + +**Kind*** is the category (Identifier, Integer etc) +**Spelling*** is the actual text used in the code + +Let's break it down into tokens: +* **int** - of kind Identifier(name of type) (spelling "int") +* **myNumber** - of kind Identifier(name of variable) (spelling "myNumber") +* **=** - of kind Becomes (spelling "=") +* **55** of kind Integer Literal (spelling "55") +* **;** of kind Semicolon (spelling ";") + +Below is the same example in Triangle: + +``` +let + var myNumber : Integer +in + myNumber := 55 +``` + +Let's break it down into tokens again: +* **let, :, var, in** of kind let, :, var, in (spelling "let, :, var, in ") +* **:=** of kind Becomes (spelling "Becomes") +* **myNumber** of kind Identifier (spelling "myNumber") +* **Integer** of kind Identifier (spelling "Integer") +* **55** of kind Integer Literal (spelling "55") + +## Scanning a string into tokens + +The basic ideas is that we have a loop implemented using recursion that gobbles up characters from the text until they match a known template for a token. + +``` +myNumber := 55+ 10 +^ +``` +Our starting point is char 'm', so we assume that we are working along a Identifier. We continue working our way through to the end of the word (until we hit a space). At this stage, it is impossible to know if we are working with either method names, string literals or anything of that nature. + +``` +myNumber := 55+ 10 +~~~~~~~~^ +``` + +We now check that string with a list of reserved words (such as *if*, *end*, *while*). If it was, say for example, **if**, the kind of this token will be set to If. We don't match any known reserved words so this token is labelled as an Identifier with the spelling "myNumber". + +``` +myNumber := 55+ 10 +~~~~~~~~~^ +``` + +We now keep moving along the spaces until we hit something other than a space. We've hit a colon. There are two types of colon in Triangle, one for separating a variable type from its name or a colon-equals (Becomes token). Let's take the next character as we will know what to do with it after this. + +``` +myNumber := 55+ 10 +~~~~~~~~~~^ +``` + +It is an colon equals sign. That tells us that the token is **Becomes** with the spelling ":=" + +``` +myNumber := 55+ 10 +~~~~~~~~~~~~^ +``` + +We hit a 5. Triangle can only support Integer types (handy!) so we know that we can carry along this number until we hit something that isn't a number (to get the full context of the Integer). In this case, we move along until we hit a space! + +``` +myNumber := 55+ 10 +~~~~~~~~~~~~~~^ +``` + +We've hit something that isn't a digit! This means that this token is of kind Integer Literal and has the spelling "55". + +``` +myNumber := 55+ 10 +~~~~~~~~~~~~~~^ +``` + +The next character is a plus. Operators can start with this character so we keep taking characters until reaching something that's not an operator. The next character is a space +``` +myNumber := 55+ 10 +~~~~~~~~~~~~~~~~~~^ +``` + +We hit another Integer (10!) and reach the EOL (end of line). Most methods use recursion to keep reading until we reach the end of a line of a end of file. + +## Syntactic Analysis: Parsing into an AST + +Let's create a theoretical language, Micro-English. Here is the EBNF: + +``` +Sentence ::== Subject Verb Object . +Subject ::== I | a Noun | the Noun +Object ::== Me | a Noun | the Noun +Noun ::== cat | mat | rat +Verb ::== like | is | see | sees +(terminals are english lowercase words, e.g. like, the, etc) +``` + +### Bottom Up + +``` + Noun + | +the cat sees a rat. +``` +``` +Subject + ____ + | Noun + | | +the cat sees a rat. +``` +``` + S + ____ + | N Verb + | | | +the cat sees a rat. +``` +``` + S + ____ + | N V N + | | | | +the cat sees a rat. +``` +``` + S Obj + ____ ____ + | N V | N + | | | | | +the cat sees a rat. +``` +``` + Sentence +___________________ + | | | | + S | Obj | + ____ | ____ | + | N V | N | + | | | | | | +the cat sees a rat. +``` + +--- + +### Key definitions for compilers +* **Syntactic analysis**: scanning and parsing, which takes the text of the source code and transforms it into an abstract syntax tree + +* **Contextual analysis**: checks things like variable types and scope, and creates the connections within the AST so we can later look up declarations for named identifiers like variables, constants and function. + +* **Code generation**: generates the output code, which might be machine code, another high-level language, or an intermediate language (as it the case with Java bytecode). Might also include optimisations of the code. diff --git a/test/website/MARKDOWN/A5Week2.md b/test/website/MARKDOWN/A5Week2.md new file mode 100644 index 0000000..beb78ee --- /dev/null +++ b/test/website/MARKDOWN/A5Week2.md @@ -0,0 +1,273 @@ +# CSCU9A5 Week 2 + +TODO +> Read Chapter 3 of Clean Code + +## Contextual Analysis + +```java +public class Example{ + private int count; + + public int doStuff(int[] values){ + int count = 0; + ... + } +} +``` + +Here there is two variables with the name **count**. How does the compiler know which is which? + +### Identification Tables + +We could walk back up the abstract syntax tree to figure out what needs to go where in memory (size, type etc.). That would work but, it's slow. (Think back to Tree Walks). + +The ID table might contain a list of these *attributes* or just a *pointer* to the place as to where the identifier was declared. + +Declarations are functions, class in Java or even int etc. + +A *block* is any part of the program that limits the scope of the declaration in Java. + +Each declaration has a **scope**. + +### Monolithic Block Structure + +A programming language exhibits a monolithic block structure if there is only one block: +* All declarations are **global in scope** +* No identifier may be declared more than once +* For every reference to an identifier, *i*, there must be a corresponding declaration of *i*. + +```code +program + D +begin + C +end +``` + +One block for the **whole** program. The ID table may look like this: + +| Identity | Attribute | +|----------|-----------| +| b | (1) | +| n | (2) | +| c | (3) | + +```code +program +(1) integer b = 10 +(2) integer n +(3) char c +begin +... +n = n * b +... +write c +... +end +``` + +### Flat Block Structure + +Several overlapping blocks, local and global scopes. + +### Nested Block Structure + +Most programming languages fall into this structure (Java, C and Python). + +Many scope levels, declarations can be global (scope level 1, outer most scope) in scope or local in scope. + +Example: +```code +let + (1) var a : Integer + (2) var b : Boolean +in + begin + .... + let + (3) var b : Integer + (4) var c : Boolean + in + begin + .... + let + (5) var d : Integer + in + .... + end + let + (6) var d : Boolean + (7) var e : Integer + in + .... +end +``` + +| Level | Identity | Attribute | +|-------|----------|-----------| +| 1 | a | (1) | +| 1 | b | (2) | +| 2 | b | (3) | +| 2 | c | (4) | +| 3 | d | (5) | +| 2 | d | (6) | +| 2 | e | (7) | + +What do we need to store instead of the identifiers? + +## Type Checking + +This is a key feature in a **statically** typed language like Triangle or Java. This helps programmers not make mistakes (assigning a string to an int). This type checking happens at compile time. + +The picture is much more complex for **dynamically** typed languages such as JavaScript or Go! + +## Runtime Organisation: Data Representation + +> Principles to follow with data representation: + +> (1) nonconfusion: different values of a given type should have different representations + +> (2) uniqueness: each value should always have the same representation. + +All values of a given type should occupy the same amount of space, this being that an int will have a storage size of 8 bytes, a boolean value having only 1 byte and a char only having 1 byte too. + +The compiler then can efficiently work out where to map the values in memory as it knows all the space needed. + +Should values be represented directly or indirectly? + +If a variable is directly represented, it simply maps to a binary representation of the variables value somewhere in heap memory. + +```text +| Address | Value | +|---------|-------| +| 0 | ? | int x = 130 +| 1 | ? | | (direct binary repr.) +| 2 | 130 |<---| +| 4 | ? | +| ... | ... | +``` + +If a value is indirectly, the variable maps to a **handle**, a pointer to a storage area where the binary representation of that variable exists (most likely in a heap memory area). + + +```text +| Address | Value | +|---------|-------| +| 0 | ? | Object x = new Object() +| 1 | ? | | (indirect binary repr.) +| 2 | 160 |<---| (160 is an addr. in memory) +| 4 | ? | +| ... | ... | +| 160 |Object | +| 161 | data | +| 162 | here | +| 163 |etc... | +``` + +**Indirect representation** is necessary for variable whose values vary in size by a large amount e.g. dynamic arrays or objects. (Think malloc() in C). + +## Primate Types + +Primate types are stored directly, as this is more efficient than managing a pointer and the allocation of space in heap memory. + +Integer, Boolean and Char types are supported directly by the target machine with corresponding operations like *add*, *multiply* etc. + +## Composite Types + +Composite types are types which can be simplified into collections of primitive types. + +### Record + +**Record**: A collection of variables of fields, each of which has an identifier. +* Records in Triangle +* Structs in C, Go etc. +* Java Class with only public variables (closest anyway...) + +Simplest way to store this in memory is to store the variables consecutively in memory (like in a row). + +```code +type Date = record + y : Integer + m : Integer + d : Integer + end; + +type Details = record + manager : Boolean + joined : Date + dep : Char + end; +``` + +This could be stored in memory like so: +```text +var person : Details + +| Address | Value | +|---------|-------| +| 1 | ?? | +| 2 | true | <-- person.manager +| 2 | 1992 | <--- person.joined.y ] +| 4 | 3 | <--- person.joined.m ]> person.joined +| 5 | 1 | <--- person.joined.d ] +| 6 | 'c' | <-- person.dep +| 7 | ?? | + +``` + + +### Array + +**Array**: consists of several elements which are all of the same type. Each element is referenced by an index (often an integer), there is a one-to-one relationship between indexes and array elements. Arrays start at 0 (some terrible languages don't) + +We are talking about static arrays (defined at compile time to a fixed size) but some languages support dynamic arrays whereby the length can vary at runtime. + +For dynamic arrays, we need a handle for the array where it points to the beginning and the end addresses somewhere else in the memory. + +Static arrays could look like this: + +```text +| Address | Value | +|---------|-------| +| 1 | ?? | +| 2 | ?? | +| 3 | ?? | +| 4 | 'h' | a[0] +| 5 | 'e' | a[1] +| 6 | 'l' | a[2] +| 7 | 'l' | a[3] +| 8 | 'o' | a[4] +| 9 | '!' | a[5] +| 10 | ?? | +| 11 | ?? | +| ... | ... | +``` + +Accessing the elements of this array requires an extra computation at runtime compared to accessing a single variable or a record field. + +## Expression Evaluation + +To summarise, broadly there are two approaches to storing temporary values: registers and stack. Registers are fixed locations that can be referenced directly, but this means a tricky process of choosing which registers to hold which values. Stacks grow and shrink to accommodate new values, but lead to simpler evaluation of expressions. + +--- +## Summary of Key Concepts +* Identification Table: associates identifiers with a list of attributes, or the original declaration + +* Declaration: something like a function declaration in python, class declaration in Java, or a variable declaration like “int a;” in Java + +* Scope: each declaration has a scope, which is the portion of the program that the declaration takes effect. + +* Block: any part of the program that limits the scope of a declaration (e.g. curly brackets in Java, indentation in Python) In Triangle, scope is determined by the let...in... Command. + +* Block structure: there are three types of block structure: monolithic, flat, and nested + +* Non-confusion: different values of a given type should have different representations + +* Uniqueness: each value should always have the same representation. + +Two issues to remember in practice: + +* All values of a given type should occupy the same amount of space + +* Should values be represented directly or indirectly? If all values of a given type occupy the same space (that is, the same number of bits or bytes), it is possible for the compiler to plan the allocation of space efficiently simply by knowing the type of each variable. diff --git a/test/website/MARKDOWN/A5Week3.md b/test/website/MARKDOWN/A5Week3.md new file mode 100644 index 0000000..cbf02d1 --- /dev/null +++ b/test/website/MARKDOWN/A5Week3.md @@ -0,0 +1,193 @@ +# CSCU9A5 Week 3 + +By the end of this week you should have the ability to: + +* **Explain** the differences between static, stack, and heap storage allocation +* **Describe** the purpose of frames in a stack +* **Explain** why garbage collection is needed and describe an approach to carrying it out +* **Describe** what a template is in the context of code generation, and give simple examples +* **Implement** simple additions to the visitor pattern within a compiler +* **Reflect** on the value of where and when good commenting is needed + +## Runtime Organisation: Static Storage Allocation +Memory is basically like a very long list with each element having an address and a value. + +If we have a variable that might change in size, and indirect representation is used - a pointer. This mean that the variable can occupy a fixed size space in memory because it just *points* to the address of where the data is really stored (usually in the **heap**). + +### Stack storage allocation + +> Stacks are last-in-first-out data structures: think of a stack of paper where you can only add or remove from the top. Stacks are an effective way to store local variables throughout the lifetime of a program. + +***Stack Storage Allocation:*** +* Variables are stored in frames; each frame contains the local variables for a routine +* Global variables are stored at the base of the stack +* Link data at the start of each frame contains: + * Static link (reference to the start of the frame of the routine containing the current one) + * Dynamic link (reference to the start of the frame for the previously active routine) + * Return address (reference to the code instruction to jump back to when the routine is finished) +* When a routine is called, a new frame is pushed onto the stack; when it returns, the frame is removed +* Arguments are placed on the stack immediately before a routine is called +* When a routine returns, its arguments and frame are replaced by a return value on the stack + +Example of Routines and returns +```text +let + var g: Integer; + func F(m: Integer, n: Integer): Integer ~ + m * n + +in + begin + getint(var g) + putint(F(g, g+1)) + end +``` +```asm +PUSH 1 +LOADA 0[SB] +CALL getint +LOAD 0[SB] +LOAD 0[SB] +PUSH 1 +CALL add +CALL(SB) F +CALL putint +POP +HALT + +F: + LOAD -2[LB] + LOAD -1[LB] + CALL mult + RETURN(1) 2 +``` + +### Heap Storage Allocation and Garbage Collection + +> Heap storage allocation is another way to organise memory, and is good for indirect storage of variables. + +A heap variable is allocated by a special command called an allocator in Java. This is whenever you use the keyword *new* and in C it is *malloc()*. These return a pointer to the variable in the heap. They exist in memory until it is unallocated (via *free()* in C or automatically in Java). + +Heap is placed in opposite to the stack: + +```text +[ Stack ] <-SB +[ a ] +[ b ] +[ ...... ] <-ST +[ ] +[ 8 ] <-HT +[ H ] +[ ] +[ Heap ] <-HB +``` + +***Heap Storage Allocation:*** +* Heaps can indirectly store more complex data structures +* Heap variables are added to the heap when they are created +* They are either removed by explicit deallocation, or automatically by a garbage collector +* Gaps appear in the heap over time; these can be managed by: + * Trying to match new variables to the closest size of available gap + * Merging gaps when variables are deallocated + * Compacting the heap periodically +* Garbage is when a variable is inaccessible, because no pointers to it remain in the program +* Explicit deallocation can lead to garbage or dangling pointers +* Automatic deallocation runs periodically, deallocating inaccessible variables +* Instances variables for objects have a pointer to a class object that defines what methods are applicable to them + +## Code Generation: Code Selection + +**Code Selection** is the process of choosing the specific machine code instructions that are needed to represent a high high-level code structure. Code Templates are used for this purpose, though it is complicated by dealing with special cases. + +**Storage Allocation** is the process of deciding the addresses for each variable in the program. This is why we have spent some time discussing stack and heap memory. + +We have parsed the program to an AST and applied contextual analysis to that AST to ensure that all the types are valid! We are now ready to generate the target code for our program. + +```go +n := n + 1 +``` + +```asm +LOAD n +LOAD 1 +ADD +STORE n +``` + +Adding one to a variable is very common thing to do. We can instead use this instruction + +```asm +LOAD n +SUCC +STORE n +``` + +SUCC, means successor instruction to increase the value on the top of the stack by one. This uses 3 instructions instead of 4, meaning it is around 25% faster. + +## The Triangle Abstract Machine + +The Triangle Abstract Machine (TAM) is a virtual machine designed as the target for our case study compiler. It is also implemented in Java, and you have a copy of it by virtue of cloning the Triangle-Tools project. TAM has the following features: + +- Its memory is organised to have a stack at the low-address end and a heap at the high address end. Low level operations are provided for adding and removing data in these + +- Call and return instructions for routines handle frames automatically; **return** automatically replaces the arguments in the stack with a result from the functions return. + +- The only registers are dedicated to specific purposes as we’ve described. SB, ST, HB and HT to locate the stack and heap; LB points to the topmost frame on the stack, and so on. These are updated automatically by the instructions that add or remove things from memory + +- Several routines such as ADD, MULT, and NOT are provided for basic arithmetic and logic operations. There are also routines for reading and writing text on the console. + +A full description of TAM is given in the extracts from Programming Language Processors in Java given in the Canvas Reading List. You don’t need to become familiar with this but the text is there to serve as reference material and you will likely want to refer to it when reading and extending the compiler. + +### From Programming Language Processors in Java: Compilers and Interpreters by Watt, D.A. + +Yarr link be here! + + +- Both stack and heap can expand and contrast. Storage exhaustion arises when ST and HT attempt to cross over. + +#### Layout of a TAM frame + +- A *static link* points to an underlying frame associated with teh routine that textually encloses R in the source program +- The *dynamic link* points to the frame immediately underlying this one in the stack. +- The *return address* is the address of the instruction immediately following the call instruction that activated R. + +![2023-09-28_42](../media/2023-09-28_42.png) + +#### TAM instruction format + +All TAM instructions have a common format. +- *op*: the operation code [4bits] +- *r*: a register number [4bits] +- *n*: the size of the operand. [8bits] +- *d*: address displacement (possibly negative) [16bit *signed*] + +```text +[ op ][ r ][ n ][ d ] + 4 bits 4 bits 8 bits 16 bits +``` + +#### TAM instructions + +![2023-09-28_55](../media/2023-09-28_55.png) + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/website/MARKDOWN/A5Week4.md b/test/website/MARKDOWN/A5Week4.md new file mode 100644 index 0000000..b71fade --- /dev/null +++ b/test/website/MARKDOWN/A5Week4.md @@ -0,0 +1,230 @@ +# CSCU9A5 Week 4 + + +## Read: Chapter 5 of Clean Code + +> Variable declarations: Martin suggests that declarations should be as close to the usage of the variables as possible. Others feel they should all be at the top, or at least together somewhere. What's your opinion? + +When it comes to variables within a program - it's important to remember 'scope'. We need to make it clear what scope the variables are in. + +If we are declaring variables at the top of the program (not in a *main* but the *very* top) - this is what I would consider **global** variables. These will be used throughout the entire program and therefore be rather important e.g. A Window object. This variable will be altered through the program. + +We've talked about **global** variables - let's talk about **local** ones. + +I would say there are two types of **local** variables. One's within a methods usages and ones within loops. + +Method usage **local** are the ones you would declare at the start of a function. These could be used to calculate a sum and then be returned. There is no need to put the variable else where. Now I believe you should use the variable right after declaring it in this situation. + +Sometimes it's helpful to declare all the variables at the start - this helps give context to what the function will be doing and possibly what it is returning without the need of comments. I find this helpful for functions that handle complex maths equations. + +The variables used within loops should come before the loops start; this gives me as a programmer better control on the scope and also context. An example could be line number, character position and file name before a for loop. I know that these three variables will be used in this for loop for keeping track of where we are in the loop. + +> Do you have any of your own formatting rules you follow (even if only sometimes?) + +***I try and reduce the amount of nesting I do - this falls under refactoring. I also like to still use {} around one line if functions too.*** + +## Code Generation: Algorithm + +The **Visitor Pattern** is used to generate the necessary low level instructions. + +The algorithm we are using follows the **visitor pattern**. We can already see this in the visualisation of the AST. + +We specifically write *visitNode* methods to view the tree. + +The Visitor pattern walks the AST calling **emit()** methods to generate machine code instructions as it goes. Lookups into the AST are used to decide things like the value of literals or specific operators to use. + +Backpatching is used when we need to make forward jumps when we need them (look at visitIf command). + +## Code Generation: Resource Allocation + +```code +let + const b ~ 10; + var i : Integer +in + i := i * b +``` + +**b** is bound to 10 and **i** is bound to an address large enough to hold an integer. + +When **b** is called in the program - it should be translated to a 10 by the compiler. Each time **i** is used, it should be translated to a memory address. + +In this example, the address for **i** is **4**. The machine code could look like this: + +```code +LOAD 4[SB] +LOADL 10 +CALL mult +STORE 4[SB] +``` + +In any declaration, identifiers can be bound to values or addresses, and these might be known or unknown at compile time. So at any declaration, there is one of four possible known values: + +* **Known Value**: This is a constant declaration, e.g. **b** in the above program. It was bound to a literal value of 10. +* **Unknown Value**: This is a constant expression where the right-side needs to be evaluated at runtime e.g. *const b ~ a + 5* or a parameter received by a routine. +* **Known Address**: This is a known address that is allocated and bound to a variable declaration e.g. **i** in the example above. +* **Unknown Address**: This is an address bound to a variable parameter in a routine. + +* The specific machine codes to read and write variables and constants are wrapped up in objects that are attached to the relevant declaration nodes in the AST +* These codes include either the literal value (in the case of constants bound to literals) or the necessary steps to work out the right address +* Each time we have a declaration, we need to generate the instructions to increase the size of the current frame; when that declaration drops out of scope, the frame is decreased in size again by “popping” elements off the stack + +### Within the Triangle Compiler... + +#### Known Value + +```java +... +public KnownValue(int size, int value){ ... } +... +public void encodeFetch(Emitter ...){ + emitter.emit(OpCode.LOADL, 0, value) +} +... +``` + +A **Known value** (*KnownValue.java*) is simple. *Size* is the amount of memory taken up by this value and *Value* is the value itself. *encodeFetch* loads the literal value onto the stack *(0)*. + +#### Unknown Value + +```java +... +public UnknownValue(int size, int level, int displacement){ ... } +... +public void encodeFetch(Emitter ...){ + if (vname.indexed){ + emitter.emit(OpCode.LOADA ... + emitter.emit(OpCode.CALL ... + emitter.emit(OpCode.LOADI ... + } else { + emitter.emit(OpCode.LOAD ... + } +} +... +``` + +An **Unknown Value** is made up of two parts - level and displacement. Level is how nested the routine that contained this declaration. Displacement is where the entity is located relative to the base of the frame (i.e. how many words is from the start if the frame it is). + +We can use the *frame* as the displacement; that's the top of the stack. + + +## Code Generation: Procedures and Functions + +How do we handle procedures and functions? These both translate to low level routines. A routine is a series of instructions and the template might look something like this: + +```code +elaborate [proc I () ~ C] = + JUMP g +e: execute c + RETURN (0) 0 +h: +``` + +* Routines are also treated as entities, and entities to track their addresses and generate necessary low level code to run them are stored in the AST much the same as for variables + +## Compiler Optimisations + +Compiler optimisation can happen in a few places: +* Having a step before the code generation whereby the AST is manipulated or manipulating intermediate code if that is being generated. +* At the point where code is being generated - we can use processor specific instructions can be used/exploited. + +* **Common Sub-expression Elimination**: attempts to reduce calculations that are repeated. (This only works when the code is simple). +* **Constant Propagation**: At some point in a program - a variable might always have the same value. An algorithm to trace the flow of constant variables through the programme can be run to determine where this is guaranteed to be the case. The reference to the variable can be replaced by a literal value - reducing the need for fetches from memory. +* **Hoisting**: If part of a computation in a loop is independent of the values that change inside the loop, it can be moved *outside* the loop - meaning that it is only calculated **once** e.g: + +```code +while(j < k) { + a[j] := b + c; + j++; +} +``` + +In this example: **b** and **c** can be moved outside the loop so they are only computed once. We could turn the above code into this: + +```code +if (j < k){ + tmp = b + c; + while (j < k){ + a[j] := tmp; + j++; + } +} +``` + +* **Loop unrolling**: Reducing the amount of checks a program's loop (such as a *for* loop) will need. We can use some methods to half the checks or even completely remove the checks - this will result in a larger compiled program with less overhead. +* **Function Inlining**: Lifts the body of the code and places it directly to where the function was called. + +**Optional reading: More examples are mentioned in the book Introduction to Compiler Design (Mogensen) cited in the module home page; also here https://compileroptimizations.com** + +## Interpreters and Native Code, JIT + +Python is an interpreted language, meaning that the instructions called are done in real time - this creates more slow-down when running the program compared to a compiled language like C. + +Java is in the middle. Javac generates *bytecode* which is targeted at a *virtual machine*. This is then interpreted, so there is still some overhead involved when running with Java. + +Our toy language compiles into a Tam file. This is that intermediate language similar to *bytecode* in Java. + +* Interpreters for high level languages still scan and parse to generate an AST, and then visit that tree’s nodes to execute the program +* Interpreters for low level or intermediate languages iterate over the instructions one-by-one, matching the fetch-execute cycle +* In order of performance (approximately!): compiled native code is fastest, then intermediate code, the interpreted high level code + +## Just-in-time compilation, HotSpot, and GI + +JIT (Just-in-Time) compilation was introduced to help speed up Java's slow interpreted bytecode. Java's compiler doesn't do much optimisation itself, the idea of JIT is to offload certain expensive CPU executions into native machine code. Only parts of the program are complied in this way rather than the whole thing (most of it wont be ran often enough to make it worthwhile.). + +The process of targeting this extra compilation step is where the HotSpot (Oracles implementation of Java gets it name) - the targeted code is where the program runs hot. + +Simply put, there's a count of the number of times each method, loop and numerous other structures are executed. If that number would reach a particular threshold, that relevant block of code is compiled natively on the machine! + +JIT will also monitor branches of code and do the heavy work of lifting the *never executed* blocks of code from the compilation process off. + +* Search-based software engineering and genetic improvement of software is an active area of research that targets improvements to code that trades off possibly reduced functionality in return for greatly improved performance. Read more about it in this review paper: http://www0.cs.ucl.ac.uk/staff/J.Petke/papers/Petke_2017_TEVC.pdfLinks to an external site. or in these slides: http://geneticimprovementofsoftware.com/slides/PPSN2020_GItutorial.pdf + +## When and Where to Optimise Your Code + +We must not prematurely optimise! We should write straight forward clean code. We don't want to write hard-to-read code; slows down development, introduce bugs that are hard to track and make maintenance so much harder. + +```java +log.log(Level.FINE, "..." + calcX() ... + calcY() ... ); +``` + +This simple line has to be compiled and the method calls have to be computed i.e moving values on and off the stack and tracing ourselves around the program calls. If there is an error, *log* only reports levels higher than *FINE* so all that computation is wasted! We can rewrite this to: + +```java +if(log.isLoaggable(Level.FINE)){_ + log.log(Level.FINE, "..." + calcX() ... + calcY() ... ); +} +``` + +This is much more efficient. + +Sometimes we want to swap values around. We could do it like this: + +```java +temp = a +a = b +b = temp +``` + +This can be done better though. Maybe we can remove the *temp* variable. Let's have a look at the XOR binary function. + +XOR works like this: + +| ----- | - | +| 0 + 0 | 0 | +| 0 + 1 | 1 | +| 1 + 0 | 1 | +| 1 + 0 | 0 | + +Turns out, if we use XOR in a variable three times - it swaps! + +![2023-10-02_35](../media/2023-10-02_35.png) + +Unfortunately, it turns out that in practise, at best this will perform the same as using a temporary variable. On many modern CPU's, copies between registers are extremely fast. Some provide low-level instructions to swap variables anyway. + +In summary: + +* Write clear, logical code +* Make good design choices by selecting the right data types, the appropriate data structures and algorithms for the task at hand +* “clever” tricks can get in the way of the compiler doing its job, and make the code harder to read and debug +* Save the fancy optimisations until you’ve profiled the code and identified bottlenecks diff --git a/test/website/MARKDOWN/A5Week5.md b/test/website/MARKDOWN/A5Week5.md new file mode 100644 index 0000000..b9f05e7 --- /dev/null +++ b/test/website/MARKDOWN/A5Week5.md @@ -0,0 +1,7 @@ +# CSCU9A5 Week 5 + +## Debugging Code + +Hello there + +This is sync test! diff --git a/test/website/MARKDOWN/A5Week8.md b/test/website/MARKDOWN/A5Week8.md new file mode 100644 index 0000000..8db8aa3 --- /dev/null +++ b/test/website/MARKDOWN/A5Week8.md @@ -0,0 +1,2 @@ +# CSCU9A5 Week 8 + diff --git a/test/website/MARKDOWN/css/style.css b/test/website/MARKDOWN/css/style.css new file mode 100755 index 0000000..cfcb1bc --- /dev/null +++ b/test/website/MARKDOWN/css/style.css @@ -0,0 +1,52 @@ +@import url('https://fonts.googleapis.com/css?family=Roboto+Mono'); +@import url('https://fonts.googleapis.com/css?family=Roboto'); +@import url('https://fonts.googleapis.com/css?family=Anton'); + +body { + padding: 20px; + background-color: #1e1e2e; + color: #cdd6f4; + font-family: "Roboto Mono"; + font-size: 14px; + line-height: 22px; + margin: 0 auto; + max-width: 960px; +} + +pre { + color: #f9e2af; +} + +blockquote { + color: #f9e2af; +} + +a { + color: #f5e0dc; + text-decoration: none; +} + +a:hover { + color: #a6e3a1; +} + +h1 { + font-size: 20px; + color: #eba0ac; + margin-bottom: 0px; +} + +h2, h3, h4, h5, h6 { + font-size: 16px; + color: #51afef; + margin-bottom: 0px; +} + +li { + color: #a6e3a1; +} + +p { + padding: 0px; + margin: 0px; +} diff --git a/test/website/css/style.css b/test/website/css/style.css new file mode 100755 index 0000000..cfcb1bc --- /dev/null +++ b/test/website/css/style.css @@ -0,0 +1,52 @@ +@import url('https://fonts.googleapis.com/css?family=Roboto+Mono'); +@import url('https://fonts.googleapis.com/css?family=Roboto'); +@import url('https://fonts.googleapis.com/css?family=Anton'); + +body { + padding: 20px; + background-color: #1e1e2e; + color: #cdd6f4; + font-family: "Roboto Mono"; + font-size: 14px; + line-height: 22px; + margin: 0 auto; + max-width: 960px; +} + +pre { + color: #f9e2af; +} + +blockquote { + color: #f9e2af; +} + +a { + color: #f5e0dc; + text-decoration: none; +} + +a:hover { + color: #a6e3a1; +} + +h1 { + font-size: 20px; + color: #eba0ac; + margin-bottom: 0px; +} + +h2, h3, h4, h5, h6 { + font-size: 16px; + color: #51afef; + margin-bottom: 0px; +} + +li { + color: #a6e3a1; +} + +p { + padding: 0px; + margin: 0px; +}