summary refs log tree commit diff stats
path: root/compiler/bitsets.nim
Commit message (Collapse)AuthorAgeFilesLines
* NIR: Nim intermediate representation (#22777)Andreas Rumpf2023-10-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Theoretical Benefits / Plans: - Typed assembler-like language. - Allows for a CPS transformation. - Can replace the existing C backend by a new C backend. - Can replace the VM. - Can do more effective "not nil" checking and static array bounds checking. - Can be used instead of the DFA. - Easily translatable to LLVM. - Reasonably easy to produce native code from. - Tiny memory consumption. No pointers, no cry. **In very early stages of development.** Todo: - [x] Map Nim types to IR types. - [ ] Map Nim AST to IR instructions: - [x] Map bitsets to bitops. - [ ] Implement string cases. - [ ] Implement range and index checks. - [x] Implement `default(T)` builtin. - [x] Implement multi string concat. - [ ] Write some analysis passes. - [ ] Write a backend. - [x] Integrate into the compilation pipeline.
* use strictdefs for compiler (#22365)ringabout2023-08-061-0/+1
| | | | | | | | | | | | | | | * wip; use strictdefs for compiler * checkpoint * complete the chores * more fixes * first phase cleanup * Update compiler/bitsets.nim * cleanup
* move assertions out of system (#19599)flywind2022-03-231-0/+3
|
* bitsets.nim: cleanup (#19361)Andreas Rumpf2022-01-111-24/+11
|
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-6/+6
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* [refactoring] refactor the compiler and stdlib to deprecation warnings (#11419)Arne Döring2019-06-111-15/+19
|
* right shift is now by default sign preserving (#11322)Arne Döring2019-05-291-10/+10
| | | | | | | | | | | * right shift is now by default sign preserving * fix hashString and semfold * enable arithmetic shift right globally for CI * fix typo * remove xxx * use oldShiftRight as flag * apply feedback * add changelog entry
* remove trailing whitespace [ci skip]narimiran2019-05-221-1/+1
|
* Replace countup(x, y) with x .. yClyybber2019-05-071-6/+6
|
* Generate populationCount const at compile time (#7583)Oscar Nihlgård2018-04-161-18/+19
|
* Fix compile time set cardinality (#7558)Oscar Nihlgård2018-04-101-0/+25
|
* compiler: Trim .nim files trailing whitespaceAdam Strzelecki2015-09-041-20/+20
| | | | via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
* Nimrod renamed to NimAraq2014-08-281-3/+3
|
* case consistency part 1Araq2013-12-271-20/+20
|
* Removes executable bit for text files.Grzegorz Adam Hankiewicz2013-03-161-0/+0
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* big repo cleanupAraq2011-04-121-0/+71