Fix the test cases of traits
This commit is contained in:
parent
a117572ce5
commit
5beffbc604
2
builder
2
builder
|
@ -135,7 +135,7 @@ case "$command" in
|
|||
"compile")
|
||||
compile
|
||||
;;
|
||||
"compile-and-test")
|
||||
"compile-and-tests")
|
||||
compile
|
||||
run-tests
|
||||
;;
|
||||
|
|
3
dev.org
3
dev.org
|
@ -114,9 +114,9 @@ in python.
|
|||
- [ ] Add the support to the *Context*.
|
||||
- [ ] Add the support to *Namespace*.
|
||||
- [ ] Add the cli argument to the =bin/serene.cpp=
|
||||
*** TODO Replace =llvm::outs()= with debug statements
|
||||
*** TODO Error handling
|
||||
Create proper error handling for the internal infra
|
||||
*** TODO Replace =llvm::outs()= with debug statements
|
||||
*** TODO Language Spec :DOCS:
|
||||
*** TODO A proper List implementation
|
||||
*** TODO Vector implementation
|
||||
|
@ -127,7 +127,6 @@ Create proper error handling for the internal infra
|
|||
- [ ] For namespaces and projects
|
||||
- [ ] API to interact with docstrings and helps
|
||||
*** TODO FFI interface
|
||||
*** TODO Load path and namespace loading
|
||||
*** TODO nREPL
|
||||
*** TODO Emacs mode :Misc:
|
||||
*** TODO Number implementation
|
||||
|
|
|
@ -84,5 +84,20 @@ Deducted from https://www.aosabook.org/en/llvm.html
|
|||
to generate object files.
|
||||
- Call the default =c compiler= to link the object files and generate the machine code.
|
||||
* Episode 4 - The reader
|
||||
- We have a hand written parser/lexer since lisp already has a structure.
|
||||
** What is a Parser ?
|
||||
*** Algorithms
|
||||
- LL(k)
|
||||
- LR
|
||||
- LALR
|
||||
- PEG
|
||||
- .....
|
||||
|
||||
Read More:
|
||||
- https://stereobooster.com/posts/an-overview-of-parsing-algorithms/
|
||||
- https://tomassetti.me/guide-parsing-algorithms-terminology/
|
||||
*** Libraries
|
||||
- https://en.wikipedia.org/wiki/Comparison_of_parser_generators
|
||||
*** Our Parser
|
||||
- We have a hand written LL(1.5) like parser/lexer since lisp already has a structure.
|
||||
- LL(1.5)? s
|
||||
- O(n)
|
||||
|
|
|
@ -33,7 +33,7 @@ class Printable : public TraitBase<ConcreteType, Printable> {
|
|||
public:
|
||||
Printable(){};
|
||||
Printable(const Printable &) = delete;
|
||||
std::string Print() const { return this->Object().Print(); }
|
||||
std::string Print() { return this->Object().Print(); }
|
||||
};
|
||||
|
||||
template <typename ConcreteType>
|
||||
|
@ -41,7 +41,7 @@ class Analyzable : public TraitBase<ConcreteType, Analyzable> {
|
|||
public:
|
||||
Analyzable(){};
|
||||
Analyzable(const Analyzable &) = delete;
|
||||
std::string Analyze() const { return this->Object().Analyze(); }
|
||||
std::string Analyze() { return this->Object().Analyze(); }
|
||||
};
|
||||
|
||||
template <typename T> std::string Print(Printable<T> &t) { return t.Print(); }
|
||||
|
|
Loading…
Reference in New Issue