fleshed out parser loop
This commit is contained in:
parent
cb84db53d8
commit
45d32cef6b
3 changed files with 21 additions and 1 deletions
|
|
@ -21,11 +21,29 @@ const (
|
|||
)
|
||||
|
||||
func Parse(arg *Token) {
|
||||
switch arg.tag {
|
||||
case LIST_T:
|
||||
for i := arg; i; i = i.next {
|
||||
Parse(i)
|
||||
}
|
||||
|
||||
if list_is_operation(arg) {
|
||||
arg.tag = OPERATION_T
|
||||
}
|
||||
|
||||
case OPERAND_T:
|
||||
if string_is_operator(arg._inner) {
|
||||
arg.tag = OPERATOR_T
|
||||
}
|
||||
|
||||
default:
|
||||
;// TODO: Tag a parse error?
|
||||
}
|
||||
}
|
||||
|
||||
func string_delimiters_valid(arg string) bool {
|
||||
|
||||
// TODO: Enhance this function
|
||||
go
|
||||
}
|
||||
|
||||
func list_is_operation(arg *Token) bool {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue