Skip to content
Snippets Groups Projects
Commit 6d38b8e8 authored by Jakob Rath's avatar Jakob Rath Committed by Dan Hirsch
Browse files

Use typedefs for pointers.

parent 76782bfa
No related branches found
No related tags found
No related merge requests found
...@@ -6,53 +6,56 @@ module Hammer ...@@ -6,53 +6,56 @@ module Hammer
ffi_lib 'libhammer.dylib' ffi_lib 'libhammer.dylib'
typedef :pointer, :h_parser
typedef :pointer, :h_parse_result
# run a parser # run a parser
attach_function :h_parse, [:pointer, :string, :size_t], :pointer attach_function :h_parse, [:h_parser, :string, :size_t], :h_parse_result
# build a parser # build a parser
attach_function :h_token, [:string, :size_t], :pointer attach_function :h_token, [:string, :size_t], :h_parser
attach_function :h_ch, [:uint8], :pointer attach_function :h_ch, [:uint8], :h_parser
attach_function :h_ch_range, [:uint8, :uint8], :pointer attach_function :h_ch_range, [:uint8, :uint8], :h_parser
attach_function :h_int_range, [:int64, :int64], :pointer attach_function :h_int_range, [:int64, :int64], :h_parser
attach_function :h_bits, [:size_t, :bool], :pointer attach_function :h_bits, [:size_t, :bool], :h_parser
attach_function :h_int64, [], :pointer attach_function :h_int64, [], :h_parser
attach_function :h_int32, [], :pointer attach_function :h_int32, [], :h_parser
attach_function :h_int16, [], :pointer attach_function :h_int16, [], :h_parser
attach_function :h_int8, [], :pointer attach_function :h_int8, [], :h_parser
attach_function :h_uint64, [], :pointer attach_function :h_uint64, [], :h_parser
attach_function :h_uint32, [], :pointer attach_function :h_uint32, [], :h_parser
attach_function :h_uint16, [], :pointer attach_function :h_uint16, [], :h_parser
attach_function :h_uint8, [], :pointer attach_function :h_uint8, [], :h_parser
attach_function :h_whitespace, [:pointer], :pointer attach_function :h_whitespace, [:h_parser], :h_parser
attach_function :h_left, [:pointer, :pointer], :pointer attach_function :h_left, [:h_parser, :h_parser], :h_parser
attach_function :h_right, [:pointer, :pointer], :pointer attach_function :h_right, [:h_parser, :h_parser], :h_parser
attach_function :h_middle, [:pointer, :pointer, :pointer], :pointer attach_function :h_middle, [:h_parser, :h_parser, :h_parser], :h_parser
#attach_function :h_in, [:string, :size_t], :pointer #attach_function :h_in, [:string, :size_t], :h_parser
#attach_function :h_not_in, [:string, :size_t], :pointer #attach_function :h_not_in, [:string, :size_t], :h_parser
attach_function :h_end_p, [], :pointer attach_function :h_end_p, [], :h_parser
attach_function :h_nothing_p, [], :pointer attach_function :h_nothing_p, [], :h_parser
attach_function :h_sequence, [:varargs], :pointer attach_function :h_sequence, [:varargs], :h_parser
attach_function :h_choice, [:varargs], :pointer attach_function :h_choice, [:varargs], :h_parser
attach_function :h_butnot, [:pointer, :pointer], :pointer attach_function :h_butnot, [:h_parser, :h_parser], :h_parser
attach_function :h_difference, [:pointer, :pointer], :pointer attach_function :h_difference, [:h_parser, :h_parser], :h_parser
attach_function :h_xor, [:pointer, :pointer], :pointer attach_function :h_xor, [:h_parser, :h_parser], :h_parser
attach_function :h_many, [:pointer], :pointer attach_function :h_many, [:h_parser], :h_parser
attach_function :h_many1, [:pointer], :pointer attach_function :h_many1, [:h_parser], :h_parser
#attach_function :h_repeat_n, [:pointer, :size_t], :pointer #attach_function :h_repeat_n, [:h_parser, :size_t], :h_parser
attach_function :h_optional, [:pointer], :pointer attach_function :h_optional, [:h_parser], :h_parser
attach_function :h_ignore, [:pointer], :pointer attach_function :h_ignore, [:h_parser], :h_parser
attach_function :h_sepBy, [:pointer, :pointer], :pointer attach_function :h_sepBy, [:h_parser, :h_parser], :h_parser
attach_function :h_sepBy1, [:pointer, :pointer], :pointer attach_function :h_sepBy1, [:h_parser, :h_parser], :h_parser
attach_function :h_epsilon_p, [], :pointer attach_function :h_epsilon_p, [], :h_parser
attach_function :h_length_value, [:pointer, :pointer], :pointer attach_function :h_length_value, [:h_parser, :h_parser], :h_parser
attach_function :h_and, [:pointer], :pointer attach_function :h_and, [:h_parser], :h_parser
attach_function :h_not, [:pointer], :pointer attach_function :h_not, [:h_parser], :h_parser
attach_function :h_indirect, [], :pointer attach_function :h_indirect, [], :h_parser
attach_function :h_bind_indirect, [:pointer, :pointer], :void attach_function :h_bind_indirect, [:h_parser, :h_parser], :void
#attach_function :h_action, [:pointer, ...], :pointer #attach_function :h_action, [:h_parser, ...], :h_parser
#attach_function :h_attr_bool, [:pointer, ...], :pointer #attach_function :h_attr_bool, [:h_parser, ...], :h_parser
#class HParseResult < FFI::Struct #class HParseResult < FFI::Struct
# layout :ast, :pointer, # layout :ast, :pointer,
...@@ -61,7 +64,7 @@ module Hammer ...@@ -61,7 +64,7 @@ module Hammer
#end #end
# free the parse result # free the parse result
attach_function :h_parse_result_free, [:pointer], :void attach_function :h_parse_result_free, [:h_parse_result], :void
# TODO: Does the HParser* need to be freed? # TODO: Does the HParser* need to be freed?
end end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment