Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Fuel HLL #2

Merged
merged 71 commits into from May 8, 2021
Merged

Initial Fuel HLL #2

merged 71 commits into from May 8, 2021

Commits on Jan 25, 2021

  1. initial parsing work

    Alex committed Jan 25, 2021
    Configuration menu
    Copy the full SHA
    159e747 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2021

  1. parse trait declarations

    Alex committed Jan 27, 2021
    Configuration menu
    Copy the full SHA
    32d3ae5 View commit details
    Browse the repository at this point in the history
  2. import statements

    Alex committed Jan 27, 2021
    Configuration menu
    Copy the full SHA
    42a8e80 View commit details
    Browse the repository at this point in the history
  3. clean lexer tree; support method calls

    Alex committed Jan 27, 2021
    Configuration menu
    Copy the full SHA
    c85792c View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2021

  1. basic ast skeleton beginnings

    Alex Hansen committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    9e71dda View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2021

  1. begin ast work

    Alex Hansen committed Jan 29, 2021
    Configuration menu
    Copy the full SHA
    7a4edec View commit details
    Browse the repository at this point in the history
  2. checkpoint while i swap computers

    Alex committed Jan 29, 2021
    Configuration menu
    Copy the full SHA
    f767f96 View commit details
    Browse the repository at this point in the history
  3. more ast parsing

    Alex Hansen committed Jan 29, 2021
    Configuration menu
    Copy the full SHA
    40eb817 View commit details
    Browse the repository at this point in the history
  4. more ast parsing

    Alex Hansen committed Jan 29, 2021
    Configuration menu
    Copy the full SHA
    8b7f12a View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2021

  1. ast: function appl, func decl, var exp

    Alex Hansen committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    e7bdaeb View commit details
    Browse the repository at this point in the history
  2. ast: literals

    Alex Hansen committed Jan 31, 2021
    Configuration menu
    Copy the full SHA
    80ae5a9 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2021

  1. add compiler binary with nice error messages

    Alex Hansen committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    73c4438 View commit details
    Browse the repository at this point in the history
  2. ast: return statements, use statements

    Alex Hansen committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    d58e28b View commit details
    Browse the repository at this point in the history
  3. fix error message

    Alex Hansen committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    d40b2f2 View commit details
    Browse the repository at this point in the history
  4. ast: traits

    Alex Hansen committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    2e347c2 View commit details
    Browse the repository at this point in the history
  5. more friendly parse error messages

    Alex Hansen committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    2a9edf9 View commit details
    Browse the repository at this point in the history
  6. old email

    Alex Hansen committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    d02fc85 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2021

  1. semicolons!

    Alex committed Feb 2, 2021
    Configuration menu
    Copy the full SHA
    afdeef7 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2021

  1. byte literals; fix tests

    Alex committed Feb 3, 2021
    Configuration menu
    Copy the full SHA
    29ae513 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2021

  1. parse binary and hex literals for byte and bytes32

    Alex Hansen committed Feb 4, 2021
    Configuration menu
    Copy the full SHA
    5f8a909 View commit details
    Browse the repository at this point in the history
  2. refactor expression parsing

    Alex Hansen committed Feb 4, 2021
    Configuration menu
    Copy the full SHA
    9da8276 View commit details
    Browse the repository at this point in the history
  3. parse array exprs

    Alex Hansen committed Feb 4, 2021
    Configuration menu
    Copy the full SHA
    8073cea View commit details
    Browse the repository at this point in the history
  4. parse operator expressions

    Alex Hansen committed Feb 4, 2021
    Configuration menu
    Copy the full SHA
    6ddcb49 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2021

  1. type ascriptions

    Alex Hansen committed Feb 9, 2021
    Configuration menu
    Copy the full SHA
    88e9fa5 View commit details
    Browse the repository at this point in the history
  2. parser: polymorphism and trait bounds

    Alex Hansen committed Feb 9, 2021
    Configuration menu
    Copy the full SHA
    303f826 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2021

  1. default to u64 instead of u32

    Alex Hansen committed Feb 10, 2021
    Configuration menu
    Copy the full SHA
    f084b97 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2021

  1. begin work on match statements

    Alex Hansen committed Feb 11, 2021
    Configuration menu
    Copy the full SHA
    720abfa View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2021

  1. parse structs

    Alex Hansen committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    d23420c View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2021

  1. refactor

    Alex Hansen committed Feb 13, 2021
    Configuration menu
    Copy the full SHA
    66b641c View commit details
    Browse the repository at this point in the history
  2. a few program examples; parse match statements

    Alex Hansen committed Feb 13, 2021
    Configuration menu
    Copy the full SHA
    3f2e581 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2021

  1. lex struct expressions

    Alex Hansen committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    f9234a6 View commit details
    Browse the repository at this point in the history
  2. parse to AST struct expressions

    Alex Hansen committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    4b2b948 View commit details
    Browse the repository at this point in the history
  3. compile warnings!

    Alex Hansen committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    9e69615 View commit details
    Browse the repository at this point in the history
  4. assert_or_warn macro

    Alex Hansen committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    13e6a30 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2021

  1. generic struct parameters

    Alex Hansen committed Feb 17, 2021
    Configuration menu
    Copy the full SHA
    2af1365 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2021

  1. parse contract/script/predicate

    Alex Hansen committed Feb 18, 2021
    Configuration menu
    Copy the full SHA
    98b46fa View commit details
    Browse the repository at this point in the history
  2. improve top level failure error message

    Alex Hansen committed Feb 18, 2021
    Configuration menu
    Copy the full SHA
    a11bf95 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2021

  1. s/ast/parse_tree

    Alex Hansen committed Feb 20, 2021
    Configuration menu
    Copy the full SHA
    937267e View commit details
    Browse the repository at this point in the history
  2. enums

    Alex Hansen committed Feb 20, 2021
    Configuration menu
    Copy the full SHA
    2f389a3 View commit details
    Browse the repository at this point in the history
  3. begin semantic analysis

    Alex Hansen committed Feb 20, 2021
    Configuration menu
    Copy the full SHA
    0747988 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2021

  1. begin work on type checking, inferencing, and semantics checking (#11)

    * begin work on type checking, inferencing, and semantics checking
    
    * fmt
    
    * WIP; laptop dying
    
    * match branch types
    
    * wip type code blocks
    
    * build failure
    
    * operator parsing; no precedence
    
    * compile fn
    
    * run compile instead of parse from hllc
    
    * begin trait declarations in ast
    
    * return statements in AST
    
    * allow code blocks
    
    * handle implicit returns in code blocks
    
    * type checking is taking shape
    
    * generic type checking
    
    * return multiple errors
    
    * proper operator precedence
    
    * add fn params to namespace when typechecking
    
    * contextual error messages
    
    * remove todo panics
    
    * toml update
    sezna committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    fc38750 View commit details
    Browse the repository at this point in the history
  2. small error msg tweak

    Alex Hansen committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    3b028e6 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2021

  1. Refactor error and warning handling (#12)

    * begin refactor of error/warnings
    
    * finish refactor
    sezna committed Mar 2, 2021
    Configuration menu
    Copy the full SHA
    f7261d0 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2021

  1. type check predicates

    Alex Hansen committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    952ff98 View commit details
    Browse the repository at this point in the history
  2. limit number of script main functions

    Alex Hansen committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    029ea46 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2021

  1. parse generic types for traits

    Alex committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    217aa36 View commit details
    Browse the repository at this point in the history
  2. grammar for reassignments and while loops

    Alex committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    3bed768 View commit details
    Browse the repository at this point in the history
  3. variable reassignments; while loops

    Alex committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    ffa2450 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3eacf66 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2021

  1. fix tests

    Alex committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    6956d71 View commit details
    Browse the repository at this point in the history
  2. grammar for inline asm

    Alex committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    d31ead1 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2021

  1. Asm expressions (#13)

    * begin implementing asm expressions
    
    * WIP asm parsing
    
    * fix up spans; unused value warning
    
    * progress on trait impl
    
    * impl traits
    
    * big refactor
    
    * fix asm op parsing error
    
    * parsing for method applications
    
    * struct expressions and declarations: type inference
    
    * WIP subfield exprs
    
    * subfield expressions
    
    * baaasic method invocations
    
    * impl self; better struct declarations
    
    * begin package manager work
    
    * begin work on package manager
    
    * WIP checkpoint
    
    * forc build MVP implemenation
    
    * dependency resolution v1
    
    * Namespace refactor (#22)
    
    * begin namespace refactor
    
    * move all hashmaps to namespace type
    
    * compiles imported dependencies
    
    * method not found error
    
    * resolve some warnings
    
    * fix Self type in trait implementations
    
    * fix all warnings
    
    * fix todo error messages
    
    * introduce differentiation between generic and struct types
    
    * refactor struct expression typing to use declarations
    
    * fix lack of self type in trait implementation
    
    * refactor typed expressions
    
    * fix impl self namespace bug
    
    * fix implicit return typechecking bug
    
    * re-introduce function applications
    
    * type check function return statements
    
    * remove hllc
    sezna committed Mar 28, 2021
    Configuration menu
    Copy the full SHA
    d74420a View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2021

  1. fix only last expr having type annotation; if branch enforcement of h…

    …aving an else
    Alex Hansen committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    ae30683 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2021

  1. Control flow analysis + more (#28)

    * begin documentation of control flow analysis algorithm
    
    * begin graph construction
    
    * begin graph construction
    
    * generate graphs; further control flow work
    
    * some improvements in control flow; still need to wire up imports into the control flow graph
    
    * control flow graph improvements
    
    * fix up implicit return printing in control flow graph
    
    * organize graph code
    
    * find dead code
    
    * unreachable code warnings
    
    * parse unit type as type info
    
    * start enum expressions
    
    * fix enum lookup bug
    
    * type check all enum instantiations
    
    * Resolved types (#29)
    
    * begin swappnig over to resolved types
    
    * progress in refactore
    
    * progress on converting types
    
    * progress in switching to resolved types
    
    * progress in switching to resolved types
    
    * finalize refactor to resolved types
    
    * remove unused type variants
    
    * fix tests
    
    * enum variant construction code analysis
    
    * resolve warnings
    
    * missing enum instantiator error
    
    * trait declarations control flow
    
    * fix trait type mismatch error message
    
    * individual method dead code warnings
    
    * fix method call bug
    
    * respect public visibility modifiers; control flow analysis on libraries
    
    * add public traits
    
    * move ident file
    
    * begin analysis on return paths
    
    * refactor of files
    
    * begin work on analyzing return paths
    
    * basic return path graph construction done
    
    * documentation
    
    * Return path analysis (#30)
    
    * begin analysis on return paths
    
    * refactor of files
    
    * begin work on analyzing return paths
    
    * basic return path graph construction done
    
    * documentation
    
    * fix code block type parsing
    
    * control flow analysis on if and code blocks
    
    * struct fields in graph
    
    * individual struct field warnings
    sezna committed Apr 16, 2021
    Configuration menu
    Copy the full SHA
    a20104f View commit details
    Browse the repository at this point in the history

Commits on May 3, 2021

  1. add line_col method for errors and warnings

    Alex Hansen committed May 3, 2021
    Configuration menu
    Copy the full SHA
    12a0efa View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Generate Assembly (#31)

    * begin generating assembly
    
    * add unique registers counter to asm expressions
    
    * sketch out asm generation with todo! macros everywhere
    
    * begin while loop assembly
    
    * rework compile fn for asm
    
    * have to commit to save my progress as i boot into windows for fortnite
    
    * make progress in expression generation
    
    * WIP: return statements
    
    * asm expressions and asm refactor
    
    * very basic bytecode compilation
    
    * first asm!
    
    * ASM: While loops and reassignments
    
    * remove subsequent jumps
    
    * reuse data section values for duplicate literals
    
    * struct expressions
    
    * fix SW order
    
    * stashing checkpoint
    
    * forgotten add
    
    * asm for enum instantiations
    
    * if expression assembly generation
    
    * code block asm generation
    
    * remove TODO in code analysis
    
    * remove some panics
    
    * remove a bunch of todo panics
    
    Co-authored-by: Alexander Hansen <alexanderhansen@Alexanders-MacBook-Pro.local>
    sezna and Alexander Hansen committed May 6, 2021
    Configuration menu
    Copy the full SHA
    c7c73a9 View commit details
    Browse the repository at this point in the history
  2. move license; clean warnings

    Alexander Hansen authored and Alexander Hansen committed May 6, 2021
    Configuration menu
    Copy the full SHA
    0a8a601 View commit details
    Browse the repository at this point in the history
  3. Update forc/src/cli/build.rs

    Co-authored-by: John Adler <adlerjohn@users.noreply.github.com>
    sezna and adlerjohn committed May 6, 2021
    Configuration menu
    Copy the full SHA
    e494d0c View commit details
    Browse the repository at this point in the history
  4. Update forc/src/cli/build.rs

    Co-authored-by: John Adler <adlerjohn@users.noreply.github.com>
    sezna and adlerjohn committed May 6, 2021
    Configuration menu
    Copy the full SHA
    09f3107 View commit details
    Browse the repository at this point in the history
  5. code review feedback

    Alexander Hansen authored and Alexander Hansen committed May 6, 2021
    Configuration menu
    Copy the full SHA
    2d47def View commit details
    Browse the repository at this point in the history
  6. Merge branch 'parser_v1' of github.com:fuellabs/fuel-vm-hll into pars…

    …er_v1
    Alexander Hansen authored and Alexander Hansen committed May 6, 2021
    Configuration menu
    Copy the full SHA
    f9a5a57 View commit details
    Browse the repository at this point in the history
  7. Update forc/src/manifest.rs

    Co-authored-by: John Adler <adlerjohn@users.noreply.github.com>
    sezna and adlerjohn committed May 6, 2021
    Configuration menu
    Copy the full SHA
    61c5b6e View commit details
    Browse the repository at this point in the history
  8. Update parser/src/control_flow_analysis/analyze_return_paths.rs

    Co-authored-by: John Adler <adlerjohn@users.noreply.github.com>
    sezna and adlerjohn committed May 6, 2021
    Configuration menu
    Copy the full SHA
    6b7b5b3 View commit details
    Browse the repository at this point in the history
  9. more PR feedback

    Alexander Hansen authored and Alexander Hansen committed May 6, 2021
    Configuration menu
    Copy the full SHA
    824f0fd View commit details
    Browse the repository at this point in the history
  10. Merge branch 'parser_v1' of github.com:fuellabs/fuel-vm-hll into pars…

    …er_v1
    Alexander Hansen authored and Alexander Hansen committed May 6, 2021
    Configuration menu
    Copy the full SHA
    0e2793b View commit details
    Browse the repository at this point in the history
  11. rename parser to core_lang

    Alexander Hansen authored and Alexander Hansen committed May 6, 2021
    Configuration menu
    Copy the full SHA
    9328fcd View commit details
    Browse the repository at this point in the history

Commits on May 7, 2021

  1. add minimum supported version

    Alexander Hansen authored and Alexander Hansen committed May 7, 2021
    Configuration menu
    Copy the full SHA
    0127a8d View commit details
    Browse the repository at this point in the history
  2. Update README.md

    Co-authored-by: John Adler <adlerjohn@users.noreply.github.com>
    sezna and adlerjohn committed May 7, 2021
    Configuration menu
    Copy the full SHA
    ee149cd View commit details
    Browse the repository at this point in the history
  3. check that struct size in words fits in a u32 gracefully

    Alexander Hansen authored and Alexander Hansen committed May 7, 2021
    Configuration menu
    Copy the full SHA
    a7416ce View commit details
    Browse the repository at this point in the history

Commits on May 8, 2021

  1. Merge branch 'parser_v1' of github.com:fuellabs/fuel-vm-hll into pars…

    …er_v1
    Alexander Hansen authored and Alexander Hansen committed May 8, 2021
    Configuration menu
    Copy the full SHA
    cfdfbcb View commit details
    Browse the repository at this point in the history
  2. forgotten import

    Alexander Hansen authored and Alexander Hansen committed May 8, 2021
    Configuration menu
    Copy the full SHA
    f1e8ff5 View commit details
    Browse the repository at this point in the history