Show Menu
Cheatography

Advanced Software Engineering Notes Cheat Sheet (DRAFT) by

ASE Notes for exam. ....

This is a draft cheat sheet. It is a work in progress and is not finished yet.
 

Source code to fully qualified name resolution

Concrete Syntax Tree (CST)

- 1:1 mapping of source code to a tree repres­ent­ation.
- Consists of simple tokens (i.e. strings, numbers).

From source code to lexing and parsing

From source code to building an object model

Source code to writing output from the model

Bytecode / assembly / machine code.
- Generate machine or VM executable code.
Source code of a different language.
- Code synthesis: generating source code from the object model.
- Decomp­ila­tion: generating the original source code.
Code metrics:
- Analyse the object model to compute metrics, i.e. number of classes, methods, complexity etc. > next week.
Metadata, e.g. lookup tables, API docume­nta­tion.
- IDE needs info on classes / methods for code comple­tion.
- HTML API docs are hyperl­inked.
 

Abstract Syntax Tree (AST)

- Only necessary parts.
- Possible consisting of complex node objects.
- Possibly restru­ctured for simpli­city.

Source code to fully qualified name resolution

Internal repres­ent­ations:
E.g. JVM method descri­ptors:
- Method signature in Java source:
Object[] m(int i, double d, Thread t) { ... }

- Method descriptor in JVM class file:
(IDLja­va/­lan­g/T­hre­ad;­)[L­jav­a/l­ang­/Object