4 Commits

Author SHA1 Message Date
amery 122e040184 lexer: introduce a Position (Line, Column) handler
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-29 13:56:02 +00:00
amery 7672acae5a build-sys: import build system from darvaza.org/core
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-29 13:55:38 +00:00
amery d5ad69c7e3 Merge branch 'pr-amery-lexer-error' into next-amery 2023-08-29 13:55:30 +00:00
amery 15938090f6 lexer: introduce StateFn and the basic state machine loop
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-29 13:26:49 +00:00
+3 -8
View File
@@ -7,16 +7,11 @@ type StateFn func() (StateFn, error)
// Run runs a state machine until the state function either
// returns nil or an error
func Run(fn StateFn) error {
for fn != nil {
var err error
var err error
for fn != nil && err == nil {
fn, err = fn()
if err != nil {
// failed
return err
}
}
// ended
return nil
return err
}