aboutsummaryrefslogtreecommitdiff
path: root/cmd/vartan-go/generate.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/vartan-go/generate.go')
-rw-r--r--cmd/vartan-go/generate.go40
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)