summaryrefslogtreecommitdiff
path: root/src/tokens/syntactic.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tokens/syntactic.rs')
-rw-r--r--src/tokens/syntactic.rs32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/tokens/syntactic.rs b/src/tokens/syntactic.rs
index 162f1c0..eb33806 100644
--- a/src/tokens/syntactic.rs
+++ b/src/tokens/syntactic.rs
@@ -1,22 +1,21 @@
use crate::*;
-pub struct Token {
+pub struct SyntacticToken {
pub source: SourceSpan,
- pub variant: TokenVariant,
+ pub variant: SyntacticTokenVariant,
}
-pub enum TokenVariant {
+pub enum SyntacticTokenVariant {
LabelDefinition(String),
MacroDefinition(String),
MacroDefinitionTerminator,
- DecimalLiteral(usize),
- HexadecimalLiteral(usize),
+ IntegerLiteral(isize),
PackedBinaryLiteral(PackedBinaryLiteral),
+ PinnedAddress(usize),
- Comment(String),
- ConstantExpression(ConstantExpression),
+ Expression(Expression),
BlockOpen,
BlockClose,
@@ -24,33 +23,34 @@ pub enum TokenVariant {
Symbol(String),
- Error(ParseError),
+ Error(SyntacticParseError),
}
#[derive(Debug)]
-pub enum ParseError {
+pub enum SyntacticParseError {
InvalidHexadecimalLiteral(String),
+ InvalidDecimalLiteral(String),
InvalidSymbolIdentifier(String),
UnterminatedComment,
- UnterminatedConstantExpression,
+ UnterminatedExpression,
+ LabelInMacroDefinition,
}
-impl std::fmt::Debug for Token {
+impl std::fmt::Debug for SyntacticToken {
fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- use TokenVariant::*;
+ use SyntacticTokenVariant::*;
let start = &self.source.in_merged;
let name = match &self.variant {
LabelDefinition(name) => format!("LabelDefinition({name})"),
MacroDefinition(name) => format!("MacroDefinition({name})"),
MacroDefinitionTerminator => format!("MacroDefinitionTerminator"),
- DecimalLiteral(value) => format!("DecimalLiteral({value})"),
- HexadecimalLiteral(value) => format!("HexadecimalLiteral(0x{value:x})"),
+ IntegerLiteral(value) => format!("IntegerLiteral({value})"),
PackedBinaryLiteral(pbl) => format!("PackedBinaryLiteral({pbl})"),
+ PinnedAddress(value) => format!("PinnedAddress({value})"),
- Comment(_) => format!("Comment"),
- ConstantExpression(expr) => format!("ConstantExpression({expr:?})"),
+ Expression(expr) => format!("Expression({expr:?})"),
BlockOpen => format!("BlockOpen"),
BlockClose => format!("BlockClose"),