summaryrefslogtreecommitdiff
path: root/src/tokens/tracked.rs
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2025-03-06 20:33:27 +1300
committerBen Bridle <ben@derelict.engineering>2025-03-11 16:59:26 +1300
commit1ecee352f5844b0809d7ae66df52e34f42b44c8e (patch)
tree472b6fd57ff7f64ac3f8cd676cbe7a113ba01f05 /src/tokens/tracked.rs
parentf2ed89083f5326a7a6f0a1720033d3388aa431fb (diff)
downloadtorque-asm-1ecee352f5844b0809d7ae66df52e34f42b44c8e.zip
Rewrite entire assembler
The language is now more general, the code is better structured, error reporting is more detailed, and many new language features have been implemented: - conditional blocks - first-class strings - more expression operators - binary literals - negative values - invocations in constant expressions
Diffstat (limited to 'src/tokens/tracked.rs')
-rw-r--r--src/tokens/tracked.rs47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/tokens/tracked.rs b/src/tokens/tracked.rs
deleted file mode 100644
index ea37047..0000000
--- a/src/tokens/tracked.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-use crate::*;
-
-
-#[derive(Clone)]
-pub struct Tracked<T> {
- pub source: SourceSpan,
- pub value: T,
-}
-
-impl<T> Tracked<T> {
- pub fn from(value: T, source: SourceSpan) -> Self {
- Self { source, value }
- }
-}
-
-impl<T> std::ops::Deref for Tracked<T> {
- type Target = T;
- fn deref(&self) -> &T {
- &self.value
- }
-}
-
-impl<T> std::ops::DerefMut for Tracked<T> {
- fn deref_mut(&mut self) -> &mut T {
- &mut self.value
- }
-}
-
-impl<T: std::fmt::Display> std::fmt::Display for Tracked<T> {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- write!(f, "{}", self.value)
- }
-}
-
-impl<T: std::fmt::Debug> std::fmt::Debug for Tracked<T> {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- write!(f, "{:?}", self.value)
- }
-}
-
-impl<T: PartialEq> PartialEq for Tracked<T> {
- fn eq(&self, other: &Tracked<T>) -> bool {
- self.value.eq(&other.value)
- }
-}
-
-impl<T: Eq> Eq for Tracked<T> {}