diff options
Diffstat (limited to 'cmd/vartan-go/generate.go')
-rw-r--r-- | cmd/vartan-go/generate.go | 40 |
1 files changed, 7 insertions, 33 deletions
diff --git a/cmd/vartan-go/generate.go b/cmd/vartan-go/generate.go index 7d84da9..0355558 100644 --- a/cmd/vartan-go/generate.go +++ b/cmd/vartan-go/generate.go @@ -2,48 +2,23 @@ package main import ( "encoding/json" - // "fmt" + "fmt" "io" "os" - // "driver/lexer" - // "driver/parser" + "driver/lexer" + "driver/parser" spec "spec/grammar" ) -func Execute() error { - // return generateCmd.Execute() - return nil -} - -var generateFlags = struct { - pkgName *string -}{} - -/* -var generateCmd = &cobra.Command{ - Use: "vartan-go", - Short: "Generate a parser for Go", - Long: `vartan-go generates a parser for Go.`, - Example: ` vartan-go grammar.json`, - Args: cobra.ExactArgs(1), - RunE: runGenerate, - SilenceErrors: true, - SilenceUsage: true, -} - -func init() { - generateFlags.pkgName = generateCmd.Flags().StringP("package", "p", "main", "package name") -} - -func runGenerate(cmd *cobra.Command, args []string) error { +func runGenerate(args []string) error { cgram, err := readCompiledGrammar(args[0]) if err != nil { return fmt.Errorf("Cannot read a compiled grammar: %w", err) } { - b, err := lexer.GenLexer(cgram.Lexical, *generateFlags.pkgName) + b, err := lexer.GenLexer(cgram.Lexical, "main") if err != nil { return fmt.Errorf("Failed to generate a lexer: %w", err) } @@ -63,7 +38,7 @@ func runGenerate(cmd *cobra.Command, args []string) error { } { - b, err := parser.GenParser(cgram, *generateFlags.pkgName) + b, err := parser.GenParser(cgram, "main") if err != nil { return fmt.Errorf("Failed to generate a parser: %w", err) } @@ -83,7 +58,7 @@ func runGenerate(cmd *cobra.Command, args []string) error { } { - b, err := parser.GenSemanticAction(*generateFlags.pkgName) + b, err := parser.GenSemanticAction("main") if err != nil { return fmt.Errorf("Failed to generate a semantic action set: %w", err) } @@ -104,7 +79,6 @@ func runGenerate(cmd *cobra.Command, args []string) error { return nil } -*/ func readCompiledGrammar(path string) (*spec.CompiledGrammar, error) { f, err := os.Open(path) |