Goose  Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 check-ins occurring around 2019-01-23 13:48:31.

2019-02-02
14:50
Sema: Env: make it possible to register multiple value providers with the same pattern. check-in: 274597f794 user: achavasse tags: trunk
2019-02-01
18:34
Lexer:
  • added TokenProvider interface.
  • added an adapter for a vector of saved tokens as an alternative token provider.
check-in: 5ea9869c62 user: achavasse tags: trunk
2019-01-31
22:22
  • Invocation: use only the val part of arg tuples, it's easier to manipulate and unify and the contained value know their own types anyway.
  • Implemented an unification rule to peel off single element tuples where applicable.
check-in: 75d7c914c3 user: achavasse tags: trunk
20:43
Lexer: added newline separator token. check-in: cf06bf7b6a user: achavasse tags: trunk
20:29
Builtins: implemented the semicolon operator. check-in: 0ebd777925 user: achavasse tags: trunk
20:08
Parser: handle implicit statement separation. check-in: 53c43bd74d user: achavasse tags: trunk
2019-01-30
23:32
Removed an obsolete comment. check-in: b1f5302f0e user: achavasse tags: trunk
23:31
  • Moved all the high level setup (of env, resolver, parser etc) into a Compiler class, along with general purpose builtin functions (Print() and Args())
  • Fixed unification of empty vectors.
  • Fixed a couple of issues with builtin functions wrapping.
check-in: 2b052e7af9 user: achavasse tags: trunk
22:39
First draft of the compile-time interpreter. A simple builtin function call works. check-in: b844506db4 user: achavasse tags: trunk
19:53
llr: remove the variable system from the old prototype, it's going to be done differently. check-in: 109bc76611 user: achavasse tags: trunk
2019-01-29
20:20
Rename "canBeInterpreted" into "canBeExecuted". check-in: fa21ccaf91 user: achavasse tags: trunk
20:16
Function invocation: unify the arguments and create the llr call. check-in: 0be0ac2e29 user: achavasse tags: trunk
2019-01-28
23:31
Sema: implement getsignature for function types. check-in: 8c0bcfa896 user: achavasse tags: trunk
23:22
  • Builtin funcs: build the function signature and store it in the function type.
  • Sema: update the pattern for the function invocation rule because of the above.
check-in: 75e7722591 user: achavasse tags: trunk
23:05
Sema: refactor function invocation rules so that they can provide a signature of the callee, in addition of resolving a call. check-in: 714e009000 user: achavasse tags: trunk
2019-01-27
16:50
Sema: holes named _ are now considered anonymous and will always result in the creation of a new hole index. check-in: d3a22bfdc8 user: achavasse tags: trunk
16:05
Sema: added a placeholder implementation for the function invocation rule. check-in: 61cece933d user: achavasse tags: trunk
2019-01-26
23:13
Parser: implemented the parsing of calls. check-in: 92aae9c3f6 user: achavasse tags: trunk
13:55
Sema: removed the wip fun rule system, replaced it with a rule system allowing to provide different ways to resolve call depending on patterns matched against the callee. check-in: 73e2565bf5 user: achavasse tags: trunk
13:13
Sema: moved the unification rules container into Env. check-in: 0dbf71e8eb user: achavasse tags: trunk
2019-01-25
14:04
Implemented builtin compile-time function registration. check-in: c44ddff153 user: achavasse tags: trunk
11:22
Implemented c++ <-> ir tuple conversions. check-in: 465a7fe161 user: achavasse tags: trunk
2019-01-24
14:32
Refactored c++ <-> value conversions into a centralized api that can be invoked through generic code. This will be needed to wrap native compile-time functions. check-in: 58cc4d39e9 user: achavasse tags: trunk
2019-01-23
15:51
Parser: parenthese blocks. check-in: 13f2fade56 user: achavasse tags: trunk
13:48
ir, lexer: defined a new term type for block delimiters. check-in: 3acca150d3 user: achavasse tags: trunk
13:35
Parser: fixed a couple of error handling issues. check-in: 81d676111f user: achavasse tags: trunk
2019-01-22
22:46
Builtins: implemented the comma operator. check-in: 5aab57179e user: achavasse tags: trunk
20:32
Builtins: added functions to construct tuples. check-in: 931ecff8c4 user: achavasse tags: trunk
2019-01-20
17:59
Parser: added helpers to register parsing rules for prefix operators, postfix operators, and infix operators (either left or right associative). check-in: 3e4339b34a user: achavasse tags: trunk
16:45
Parser: when the resolver yields custom parsing rules wrapped as values, invoke them. check-in: 15b15050d1 user: achavasse tags: trunk
13:52
Parser: added helpers to wrap/unwrap parsing rules as values. check-in: 597aa8dbd2 user: achavasse tags: trunk
2019-01-19
20:27
Parser: add custom rule class. check-in: 68a6bbce35 user: achavasse tags: trunk
18:12
ir: added helpers to easily append terms to, and concatenate vector terms. check-in: c4239c0015 user: achavasse tags: trunk
14:11
Parser: undefined identifiers. check-in: ca60f1c1d0 user: achavasse tags: trunk
13:59
Parser: literals. check-in: f3ac0d15e2 user: achavasse tags: trunk
2019-01-18
16:19
Parser: implemented the Pratt parser skeleton. check-in: 73972ef6be user: achavasse tags: trunk
2019-01-17
20:59
Import most of the llr implementation from the previous prototype. check-in: affb657e05 user: achavasse tags: trunk
2019-01-15
18:39
  • Defined the representation for values and their conversion from/to IR expressions.
  • Began defining the LLR.
check-in: fac82a4d71 user: achavasse tags: trunk
2019-01-13
21:16
Parser: remove the context object and directly use sema::Context. check-in: 70d4f4647b user: achavasse tags: trunk
20:54
Began working on the parser. Implemented the resolver. check-in: e3ed9541a8 user: achavasse tags: trunk
16:24
Lexer: fix token locations. check-in: 0ecc93dff5 user: achavasse tags: trunk
16:11
Lexer: fix comment handling. check-in: e220b814b3 user: achavasse tags: trunk
15:59
Lexer: added some throw away test code, fixed a couple of bugs. check-in: a9ae189d74 user: achavasse tags: trunk
15:31
Lexer: semicolon. check-in: 27190e303e user: achavasse tags: trunk
15:18
Lexer: operator identifiers. check-in: 8c4d9f9fe1 user: achavasse tags: trunk
14:57
Lexer: alphanumeric identifiers. check-in: bc31b6de5e user: achavasse tags: trunk
14:45
Lexer: integer literals. check-in: 2b48ab1ac7 user: achavasse tags: trunk
14:20
Lexer: string literals. check-in: 1e7b99022a user: achavasse tags: trunk
2019-01-12
15:52
Began implementing the lexer. check-in: b89aec82e0 user: achavasse tags: trunk
13:56
Sema: first implementation of Env. check-in: bb81f8e36b user: achavasse tags: trunk