doc.go 680 B

123456789101112131415161718192021222324252627282930
  1. // Package ini is an LL(1) parser for configuration files.
  2. //
  3. // Example:
  4. // sections, err := ini.OpenFile("/path/to/file")
  5. // if err != nil {
  6. // panic(err)
  7. // }
  8. //
  9. // profile := "foo"
  10. // section, ok := sections.GetSection(profile)
  11. // if !ok {
  12. // fmt.Printf("section %q could not be found", profile)
  13. // }
  14. //
  15. // Below is the BNF that describes this parser
  16. // Grammar:
  17. // stmt -> value stmt'
  18. // stmt' -> epsilon | op stmt
  19. // value -> number | string | boolean | quoted_string
  20. //
  21. // section -> [ section'
  22. // section' -> value section_close
  23. // section_close -> ]
  24. //
  25. // SkipState will skip (NL WS)+
  26. //
  27. // comment -> # comment' | ; comment'
  28. // comment' -> epsilon | value
  29. package ini