Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bazel/skylark rules for wrapping Flex/Bison builds.

MODULE.bazel

bazel_dep(
    name = "com_github_bcsgh_parser_rules",
    version = ...,
)


register_toolchains("@com_github_bcsgh_parser_rules//parser:linux_flex_bison")

genlex

load("@com_github_bcsgh_parser_rules//parser:parser.bzl", "genlex")

genlex(name, src, data, cc, h)

Generate a lexer using flex.

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
src The root source file. Label required
data Other files needed. List of labels optional []
cc The generated C++ source file. Label required
h The generated C++ header file. Label required

genyacc

load("@com_github_bcsgh_parser_rules//parser:parser.bzl", "genyacc")

genyacc(name, src, data, cc, graph, graph_file, h, loc, report, report_file)

Generate a paser using bison.

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
src The root source file. Label required
data Other files needed. List of labels optional []
cc The generated C++ source file. Label required
graph Generate a state machine graph. (Depricated, use graph_file.) Boolean optional False
graph_file Generate a state machine graph. Label optional None
h The generated C++ header file. Label required
loc The generated location header (if used). This can be manipulated in the .y file via %define api.location.file. Label optional None
report Generate a "report" (--verbose --report=all). (Depricated, use report_file.) Boolean optional False
report_file Generate a "report" (--verbose --report=all). Label optional None

parser_toolchain

load("@com_github_bcsgh_parser_rules//parser:parser.bzl", "parser_toolchain")

parser_toolchain(name, lex_gen, parse_gen)

ATTRIBUTES

Name Description Type Mandatory Default
name A unique name for this target. Name required
lex_gen - String required
parse_gen - String required

ParserGenInfo

load("@com_github_bcsgh_parser_rules//parser:parser.bzl", "ParserGenInfo")

ParserGenInfo(lex_gen, parse_gen)

Information about how to invoke lexer and parser generators tools.

FIELDS

Name Description
lex_gen -
parse_gen -

Setup (for development)

To configure the git hooks, run ./.git_hooks/setup.sh

About

Bazel build rules for flex/bison parser generation.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages