llcppg/ast:marco & token

This commit is contained in:
luoliwoshang
2024-08-16 15:03:00 +08:00
parent 876aea39e5
commit 961d4c4a3a
2 changed files with 38 additions and 0 deletions

View File

@@ -16,6 +16,10 @@
package ast
import (
"github.com/goplus/llgo/chore/llcppg/token"
)
// =============================================================================
type Node interface {
@@ -44,6 +48,11 @@ type PPD interface { // preprocessing directive
// =============================================================================
// Expressions (Types are also expressions)
type Token struct {
Token token.Token
Lit string
}
type BasicLitKind uint
const (
@@ -293,6 +302,8 @@ func (*Include) ppdNode() {}
// ------------------------------------------------
type Macro struct {
Name string
Info []*Token
}
func (*Macro) ppdNode() {}

View File

@@ -0,0 +1,27 @@
package token
type Token uint
const (
/**
* A token that contains some kind of punctuation.
*/
PunctuationToken Token = iota
/**
* A language keyword.
*/
KeywordToken
/**
* An identifier (that is not a keyword).
*/
IdentifierToken
/**
* A numeric, string, or character literal.
*/
LiteralToken
/**
* A comment.
*/
CommentToken
)