use crate::*; pub struct SyntacticToken { /// Location of token in source files. pub source: SourceSpan, pub variant: SyntacticTokenVariant, } pub enum SyntacticTokenVariant { LabelDefinition(String), MacroDefinition(String), MacroDefinitionTerminator, Literal(Value), Padding(Value), Instruction(Instruction), Comment(String), String(Vec), BlockOpen, BlockClose, MarkOpen, MarkClose, Symbol(String), Error(SyntacticParseError), } pub enum SyntacticParseError { UnterminatedComment, UnterminatedRawString, UnterminatedNullString, InvalidPaddingValue(String), }