diff options
| author | Marc Vertes <marc.vertes@tendermint.com> | 2023-08-09 11:47:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-09 11:47:39 +0200 |
| commit | 947873b34aabe46dfb9f8d06214736cb11b5a6b2 (patch) | |
| tree | 9fc4728cf39017ee0275d62a7578881cbb3073bb /scanner/scan.go | |
| parent | 355750be61fbf4b90d132a9560e01113f22f4c38 (diff) | |
codegen: add a bytecode generator (#5)
* codegen: add a bytecode generator
* cleaning scanner, parser and vm1.
Diffstat (limited to 'scanner/scan.go')
| -rw-r--r-- | scanner/scan.go | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/scanner/scan.go b/scanner/scan.go index 89d660e..066fc2a 100644 --- a/scanner/scan.go +++ b/scanner/scan.go @@ -46,14 +46,17 @@ type Token struct { value any } -func (t *Token) Kind() Kind { return t.kind } -func (t *Token) Content() string { return t.content } -func (t *Token) Start() int { return t.start } -func (t *Token) End() int { return t.end } -func (t *Token) Pos() int { return t.pos } -func (t *Token) Block() string { return t.content[t.start : len(t.content)-t.end] } -func (t *Token) Prefix() string { return t.content[:t.start] } -func (t *Token) Value() any { return t.value } +func (t *Token) Kind() Kind { return t.kind } +func (t *Token) Content() string { return t.content } +func (t *Token) Start() int { return t.start } +func (t *Token) End() int { return t.end } +func (t *Token) Pos() int { return t.pos } +func (t *Token) Block() string { return t.content[t.start : len(t.content)-t.end] } +func (t *Token) Prefix() string { return t.content[:t.start] } +func (t *Token) Value() any { return t.value } +func (t *Token) IsBlock() bool { return t.kind == Block } +func (t *Token) IsOperator() bool { return t.kind == Operator } +func (t *Token) IsSeparator() bool { return t.kind == Separator } func (t *Token) Name() string { name := t.content |
